Project · 2026
Integrações ERP — Consulta & Migração de Patrimônio
Query access to a network-isolated corporate ERP and a migration of 7,463 fixed assets between companies via SOAP web service — with portable, audited tooling and nothing to install on the server.
When the system lacks the feature, you read the WSDL: an entire fixed-asset migration, done with tools that run on any server — nothing to install, and a review gate before every dispatch.
Two real integration problems with an institution's corporate ERP, solved with the same philosophy: small, portable, auditable tools.
First: the ERP database was only reachable from a single machine on the network. I built a reboot-persistent network relay with an IP-restricted firewall and proved the path end to end — connection validated at 153 ms where there used to be an 8-second timeout. For day-to-day queries, a tool with a portable Node.js embedded: it runs on a server with nothing installed, no reboot, and exports Excel-ready CSV.
Second: the ERP has no native transfer of assets between companies. I dug through the platform's web services until I found the asset-import routine, read the WSDL (4 operations) and built a zero-dependency SOAP dispatcher: an Analyze button lists everything that will be affected and diagnoses the envelope before enabling Dispatch; credentials stay server-side and are masked in logs.
The real migration: 7,463 assets into a company that had no fixed assets registered at all — 7,445 of them in a single day, 30 July, and the remaining 19 in a touch-up six days later. Before the first dispatch, one asset entered by hand through the web just to prove the path. The service rejected large envelopes — one of the files held 2,616 assets in 1.3 MB — so the dispatcher slices into batches with the sum verified before and after: nothing lost, nothing duplicated. In that file alone there were 53 batches and 57,559 XML tags validated, plus 12 false encoding errors eliminated with charset auto-detection.
By the numbers
- 7.463
- Assets migrated
- 7.445
- Assets in one day
- 0
- Server installs
- 153 ms
- Connection validated
Engineering decisions
- 01
Network relay behind a strict firewall
The database was only reachable from one specific machine. The relay survives reboots and the firewall accepts only individually authorized IPs — no opening the port to the whole network. The path was proven with a probe before any real credential came into play.
- 02
Actually portable
Node.js embedded in the folder itself: the tool runs offline, on a production server, with no install and no reboot. The CSV ships with a UTF-8 BOM, “;” separator and quoted values — it opens correctly in pt-BR Excel on the first try.
- 03
A review gate before dispatch
Analyze first, Dispatch second: the tool lists the affected company, branches, accounts and cost centers, and points out envelope errors with line and column before enabling the send. Every run produces a single auditable log, with credentials masked.
- 04
Batches with a verified sum
Each file went out as a single envelope, and the service rejected the large ones — one of them was 1.3 MB. The solution slices it into ~26 KB batches with an invariant checked on every run: the batches' item sum is exactly the file's total. Charset auto-detection also eliminated 12 false encoding errors along the way.
Stack