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.

Illustration: an integration graph with a central hub and a SOAP relay to the ERP, dark theme with amber.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

Node.jsSQL ServerSOAP / XMLWindows Server