How New Jersey Solar Developers Reconcile CSI Project IDs in Salesforce
Why Can Two New Jersey CSI Project IDs Still Describe One Solar Facility?
In this anonymized composite scenario, a New Jersey solar developer imports Competitive Solar Incentive (CSI) submissions into Salesforce. A reapplication receives a new solicitation Project ID, and an integration creates a second custom Solar Project row for the same proposed facility. An illustrative 15,000-row review shows how the team separates physical-project identity from bid history, keeps genuine expansions distinct, and protects supported CRM corrections with preview, backup, bulk undo, and restore. This is not a named customer result.

Why New Jersey CSI IDs Need a Physical-Project Crosswalk
The New Jersey Board of Public Utilities’ CSI Q&A, current as of March 10, 2026, says a project that prequalified for an earlier solicitation must submit a new prequalification application to receive a new Project ID for the fourth solicitation. It also says a substantially similar project can participate again, with overlapping footprints used for one specific eligibility test, and that an addition at the same location may be a distinct project under applicable program rules. The Board’s current prequalification checklist asks for the prior solicitation’s Project ID, a shapefile of the proposed solar-array area, site plan, block and lot numbers, interconnection evidence, and capacity. Together, these sources explain the local data-grain problem: a solicitation Project ID identifies an application round, not necessarily a unique physical facility. The official guidance does not measure duplicate Salesforce rows or ZaapIT outcomes. A CRM import that treats every new ID as a new built project can overstate pipeline capacity, while an address-only merge can hide a legitimate separate expansion.
Use Case: A Resubmitted Bid Becomes a Second CRM Solar Project
A developer has one proposed New Jersey solar facility with an internal site key, defined footprint, and interconnection study reference. Its first CSI bid does not receive an award. The team reapplies in a later solicitation and receives a new Project ID. A nightly import keyed only by that ID inserts a second custom Solar Project record. The capacity dashboard now shows the proposed facility twice. At the same location, the team is also planning a separate, physically distinguishable addition; combining everything by address would conceal that real scope.
Project operations compares the legal project entity, GIS footprint, internal site key, capacity and scope, interconnection reference, solicitation round, and official bid and registration status. It concludes that the two submission IDs belong to one proposed facility but to two distinct bid events. It keeps the bid history on separate related submission rows, links both to the one facility record, and leaves the later addition separate pending the program’s actual determination. It never assumes that a shared address alone proves one project.
| Record or identifier | What it tracks | Bad cleanup decision |
|---|---|---|
| Internal facility/site key | The developer’s reviewed proposed physical facility. | Creating a second facility solely because a bid ID changed. |
| CSI solicitation Project ID | An application in a particular solicitation. | Deleting the earlier bid history when consolidating CRM facility rows. |
| Footprint, capacity, and interconnection reference | Evidence of project scope and whether an addition is distinct. | Merging a genuine expansion based on the same street address. |
| Official award or registration status | The outcome of the relevant program step. | Counting a prior unsuccessful bid as a second approved facility. |

What Salesforce Duplicate Tools Can and Cannot Resolve Here
Salesforce Help on Duplicate Jobs says custom objects can be scanned for duplicates, but its compare-and-merge interface is not supported for custom objects; availability also depends on edition. More fundamentally, a matching rule on Project ID would miss the same facility under a new solicitation ID. An address-only rule could mistake a separate expansion for a duplicate. Use a reviewed facility crosswalk and human approval for ambiguous cases.
Salesforce Help distinguishes External ID from Unique: an External ID alone can recur across multiple records, while a Unique field enforces distinct values. The integration can use a vetted facility key for its facility record and a separate round-plus-Project-ID key for each submission. Test historical bids, changed footprints, and separate meter or capacity additions before imposing uniqueness. The field design depends on the org’s custom-object model.
A Controlled Review of 15,000 Illustrative Rows
- Baseline: export the illustrative 15,000 custom Solar Project and submission candidates with Salesforce IDs, internal site key, CSI Project ID, solicitation round, status, footprint, capacity, interconnection reference, and related tasks.
- Profile: find multiple facility rows with matching reviewed site and scope but different round IDs. Separately flag same-address projects with different footprint, capacity, or equipment plans. Do not assume either group is automatically duplicate.
- Approve: project operations checks bid records and the current official CSI record. It records which CRM facility rows represent one underlying proposed facility, which submission rows must remain distinct, and which additions need separate treatment.
- Preview and protect: preview approved field, status, and relationship corrections in ZaapIT. Back up affected Salesforce rows and test the supported bulk-undo or restore path on a small batch.
- Run controlled batches: update only approved CRM fields and links. Preserve source application documents and historic bid outcomes. A Salesforce rollback does not reverse external submissions or downstream integrations.
- Reconcile: compare unique reviewed facilities and capacity against the project’s approved internal register. Check that each solicitation ID remains searchable and every separate addition stays visible. Restore supported edits if a mapping is wrong.
The 15,000 rows are a hypothetical review population, not a claimed duplicate rate. ZaapIT’s bulk-update guidance and user guide describe backup and recovery for supported operations. Confirm the exact custom-object and relationship behavior before a production run.

Validate Facility Counts Before Sharing the Pipeline
The composite team samples corrected and unchanged records against the internal project register and official submission history. It verifies that one proposed facility appears once in the facility-capacity view, prior bids remain separate in the submission view, and physically distinct additions are not silently absorbed. Report owners compare before-and-after totals by facility key and solicitation round, keeping unresolved cases outside any claimed cleanup result. The importer then carries both the facility key and the round-specific CSI Project ID, with exception alerts when either is missing.
Make Solar Project Cleanup Reviewable and Recoverable
Use ZaapIT to inspect Salesforce project records, preview approved facility-to-submission corrections, and protect supported bulk changes with backup, bulk undo, and restore.
Frequently Asked Questions
Can one New Jersey CSI facility receive more than one Project ID?
Yes. The New Jersey CSI Q&A says an earlier prequalified project must submit a new prequalification application to receive a new Project ID for a later solicitation. Keep both submission records while checking whether they refer to one proposed facility.
Does a shared solar site address prove two CSI submissions are duplicates?
No. Compare the footprint, capacity, interconnection reference, legal entity, and program records. A separate addition at the same location can be a distinct project under applicable rules.
Will Salesforce Duplicate Jobs merge custom Solar Project records automatically?
No. Salesforce says custom objects can be scanned with Duplicate Jobs, but compare and merge is not supported for custom objects in that interface. Review physical-project and submission identity before changing relationships.
How can a mistaken bulk project-link update be reversed?
Back up affected Salesforce rows, pilot the exact operation, confirm its supported ZaapIT bulk-undo or restore scope, and reconcile restored facility and submission links against the approved project register.
Useful ZaapIT Resources
Sources
- New Jersey Board of Public Utilities: Competitive Solar Incentive Q&A, current as of March 10, 2026
- New Jersey Board of Public Utilities: CSI prequalification requirements
- New Jersey Board of Public Utilities: CSI program order and certification framework, 2022
- Salesforce Help: Things to Know About Duplicate Jobs
- Salesforce Help: External ID versus Unique field settings