How New Jersey Port Teams Reconcile Shipment and Container Milestones in Salesforce

Why Do Duplicate Gate-In Events Matter at New Jersey Ports?

In this anonymized composite scenario, a New Jersey freight-forwarding team receives the same container gate-in milestone from a terminal and a carrier feed. A Salesforce import stores both messages as separate operational events and sometimes attaches one to the wrong shipment. An illustrative 15,000-row review shows how an admin can preserve both source messages, verify one real gate-in, preview approved corrections in ZaapIT, and retain backup, bulk undo, and restore for supported updates. This is not a named customer result.

Presenter beside an illustrative New Jersey port shipment and container milestone display
Illustrative visual: the shipment, container, and gate-in event have distinct identities.

Why Cross-Feed Gate-In Events Need Their Own Identity

The nonprofit Digital Container Shipping Association’s Track & Trace standard describes how carriers, terminals, and platforms receive the same shipment milestones in different formats and at different times. Its model distinguishes shipment events from equipment events, while the DCSA industry blueprint separates the shipment journey from the physical container’s journey. For a gate-in message, that means a container number, shipment reference, event type, facility, and event time have different jobs: one container identifier alone cannot establish whether two source messages describe one operational milestone. This is a global standard, not evidence of a New Jersey customer outcome. The New Jersey setting matters because the Port Authority reported 4.4 million TEUs through the Port of New York and New Jersey in the first half of 2026; that volume supplies local context, not a duplicate-data estimate.

Scenario integrity: This is an anonymized composite of common port-logistics and Salesforce admin workflows. The 15,000 incoming event rows, examples, visuals, and reconciliation steps are illustrative; no actual ZaapIT customer result is implied.

Use Case: Two Feeds Create One Gate-In Twice

A freight forwarder imports terminal and carrier status feeds into a custom Salesforce Shipment Milestone object. Both feeds report a gate-in for the same container at the same terminal, but one uses the booking reference and the other uses a transport-document reference. The integration keys on source message ID, so it creates two milestone rows. A later import keys only on container number, which can attach an event to the wrong shipment context. A customer-service dashboard then displays two gate-ins, sends repeated status alerts, and makes exception counts look worse than the verified operational sequence.

The team defines one canonical milestone as one verified operational event in a particular shipment context. Both raw feed messages remain available for audit. A genuinely separate gate event, including an exit and later re-entry, remains distinct even if it has the same container number. Reviewers reconcile equipment ID, booking or transport document, event type, facility, actual timestamp with time zone, and source event IDs before linking or suppressing a duplicate display.

ReferenceWhat it identifiesRisky shortcut
Container numberThe physical equipment.Assuming all events for that container belong to one shipment or one gate-in.
Booking or transport documentThe shipment context, subject to verification.Replacing it with a container number.
Source event IDOne carrier or terminal message.Counting each feed message as a separate operational milestone.
Facility, event type, actual timeEvidence for the particular operational event.Collapsing a real re-entry into an earlier gate-in.
Presenter reviewing illustrative carrier and terminal gate-in event feeds
Illustrative review: compare carrier and terminal messages before assigning one verified milestone.

How Salesforce Imports Fit the Reconciliation

Salesforce Help on custom-object imports explains matching by name, Salesforce ID, or external ID and notes that name matching is case-sensitive. An approved external ID can help an integration upsert a canonical milestone instead of creating another row, but it cannot decide by itself that two messages represent the same physical event. Salesforce’s related-record external-ID guidance recommends backing up and testing a small subset before a larger import. Store carrier and terminal source IDs separately, and assign the canonical event key only after the matching policy and exceptions have been reviewed.

A Controlled Review of 15,000 Illustrative Rows

  1. Baseline: export the illustrative 15,000 incoming event rows with Salesforce ID, source system, source event ID, container, shipment references, event type, facility, timestamp and time zone, and current canonical link.
  2. Profile: group plausible gate-in matches across feeds, then separate exact repeats from conflicting timestamps, shipment references, or facility codes. Keep unresolved cases in an exception queue.
  3. Approve: operations staff compare the terminal and carrier evidence. They confirm which messages describe one gate-in and which are genuine distinct events. The review does not infer identity from container number alone.
  4. Preview and protect: preview approved Salesforce field and lookup corrections in ZaapIT, back up affected rows, and pilot the exact supported bulk-undo or restore route before expanding the run.
  5. Apply in batches: update only approved canonical links and reporting flags. Preserve source message rows and original values for audit; do not bulk-merge ambiguous events.
  6. Reconcile: compare raw feed-message counts with verified gate-in milestones, shipment assignment, alert totals, and exceptions. If a mapping is wrong, use bulk undo or restore for the supported ZaapIT changes, correct the rule, and rerun the checks.

The 15,000 rows are an illustrative review population, not a claimed number of changes or savings. ZaapIT’s bulk-update guidance and user guide describe backup and recovery for supported actions. Test the precise custom object, relationships, and undo scope in the organization’s own Salesforce environment.

Presenter beside an illustrative port event review and recovery display
Illustrative recovery: preview, back up, reconcile, and restore supported updates.

Validation Before Status Reports Are Trusted

The composite team samples corrected and unchanged milestones against carrier and terminal source messages. It verifies that each canonical gate-in has the right shipment, container, facility, and event time; each raw message remains traceable; and real re-entries are not hidden. The report owner compares customer alerts and operational exception counts before and after the approved updates, with unresolved conflicts visible rather than silently merged. The upstream import is then changed to use the reviewed event key and to retain source-message identity.

Make Port-Milestone Cleanup Reviewable and Recoverable

Use ZaapIT to inspect Salesforce event rows, preview approved corrections, and protect supported bulk changes with backup, bulk undo, and restore.

Frequently Asked Questions

Are two gate-in messages always duplicate milestones?

No. Carrier and terminal feeds may report one gate-in, but a container can also have a distinct later gate event. Compare shipment context, facility, event type, actual time, and source evidence.

Why is container number alone a poor Salesforce matching key?

It identifies physical equipment, not one shipment or one event. Keep shipment references and event identifiers separate before assigning a canonical milestone.

Should a duplicate source message be deleted?

Not automatically. Retain raw carrier and terminal messages for traceability; correct the reporting link or flag only after reviewers verify that both describe one operational event.

How can an incorrect bulk milestone update be reversed?

Back up and preview affected Salesforce rows, pilot the exact ZaapIT action, confirm its supported bulk-undo or restore scope, and reconcile event-to-shipment links after recovery.

Useful ZaapIT Resources

Sources