A regional municipal solid waste operator may use a billing system, contract records, dispatching, a customer portal, and a request handling service at the same time. Start an integration project with a list of specific events: a contract is created, an asset’s address changes, a payment arrives, charges are recalculated, or a request is received. For each event, record its source, recipient, and expected outcome. This makes it clear which exchanges the process actually needs and where staff still transfer information manually.
Agree on identifiers and data ownership
Before developing an exchange, map the records used by each system. An address, a contract, a customer account, and a payer are related but represent different entities. One address may appear in several records, and correcting details should not create a new contract. For each entity, define an internal identifier, an external identifier, and the rule linking them. Refer uncertain matches to a specialist for review. Automatically merging records based only on similar names or addresses can spread an error across several systems at once.
If the project includes GIS Housing and Utilities, confirm the scope and formats of exchanges using the system’s own documentation. Its official documentation section identifies where the integration rules, exchange formats, and bulk upload templates are published. Keep a list of the documents and versions used in the project. An export example from an older project can be used as test material after review; the agreed format should be tied to the documentation for the selected exchange.
Separate sending from the processing outcome
In an integration log, distinguish record preparation, sending, technical receipt, and the recipient’s final processing outcome. For each event, store an identifier, time, state, and a clear explanation of any error. When a payment or document is sent again, the recipient should recognize an event it has already processed. Agree on retry, reconciliation, and manual correction rules for each data type. This helps investigate situations where the connection fails after a message has been received and the sender does not yet know whether the operation finished.
Begin testing with a small sample that includes standard and complex cases: changed details, several assets belonging to one counterparty, a corrected bill, a cancelled document, and an event received again. Check the final state in both systems as well as the number of records transferred. For billing data, agree on control totals and the reconciliation period. Decide in advance which staff member resolves a discrepancy and what supporting evidence they receive from the log.
Launch data exchanges in stages
Limit the first production launch to one flow with a measurable outcome, such as transferring requests or synchronizing an asset directory. Afterwards, assess the share of events requiring manual intervention, the time needed to correct errors, and the effort spent on reconciliation. Add new flows once failure causes and support procedures are understood. When an external system is updated, rerun the reference scenarios in a test environment. This approach turns a collection of connections into a maintainable process with an owner, a log, and a verifiable outcome.

