How to Automate Data Entry into CargoWise from Freight Documents
Start by finding out what CargoWise already captures on its own. This guide covers what is left after that: the access an outside workflow needs, how document fields map to shipments and organization codes, the checks to run before writing, and what happens when a document arrives twice or a write fails.
- Published
- Sources checked
- Reading time
- 16 min
- Written by
- Mirage Metrics team
Written for operations managers, CargoWise system owners and IT at forwarders and customs brokers. CargoWise facts come from WiseTech Global's public pages and flyers, read on October 16, 2026; record and field names in the examples are illustrative, because eAdaptor's developer documentation is not public.
Decision snapshot
- Best suited to
- Forwarders and customs brokers on CargoWise whose operators still key documents that the native capture does not cover, or covers without the cross-document checks they need.
- Inputs needed
- A sample week of the documents your team keys, an eAdaptor connection in a non-production instance, your organization list and code lists, and the tolerances your operations manager will sign.
- What can be automated
- Reading documents, matching them to shipments, resolving parties to organization codes, checking documents against each other, building and sending the messages, filing the source file in eDocs.
- What requires human approval
- New organizations, discrepancies outside tolerance, documents with no single matching shipment, changes to values a person entered by hand, and anything filed with customs.
- When this approach is insufficient
- When the native capture already covers your volume, when the data arrives as EDI or XML (a mapping job, not document reading), or when no eAdaptor access can be granted.
What CargoWise already does: examine it first
The cheapest automation is the one already inside your license. WiseTech describes a Document Management Portal embedded in CargoWise: you keep uploading trade documents to eDocs, OCR and machine learning map them into CargoWise fields, business rules hold missing or suspicious values, and you choose between manual review of everything and straight-through posting when accuracy thresholds are met. Its flyer lists commercial invoices as available and bills of lading, packing lists and transport bookings as coming. For payables, the Invoice Processing Portal takes invoices uploaded, emailed, imported by EDI or added from a job, matches them to jobs and accruals and posts the clean matches. WiseTech also acquired Shipamax in November 2022 to embed its document automation in the CargoWise document engine.
| Capability | What WiseTech says it does | Limit to note | What to test |
|---|---|---|---|
| Document Management Portal | Captures commercial invoices uploaded through eDocs, maps them to CargoWise fields, posts straight through when accuracy thresholds are met or holds everything for review | Bills of lading, packing lists and transport bookings are listed as coming, not available | Run a month of your commercial invoices through it before scoping anything else |
| Invoice Processing Portal | Takes supplier invoices uploaded, emailed, imported by EDI or added from a job; matches them to jobs and accruals; clean matches post | Covers payables invoices, not shipment documents | Compare its match rate on your carrier and agent invoices with your current process |
| eDocs | Stores documents against shipments, adds required document types automatically, accepts uploads from trusted third parties | Storage and sharing, not data extraction | Check that every document an outside workflow reads also lands here, so operators see one file |
| Workflow | Milestones, tasks, triggers and escalation; templates set which fields are populated by shipment type, mode, direction or client | Organizes the work, does not read documents | Use it for the review tasks an outside workflow raises, rather than a second task list |
| CargoWise Connector | Exchanges structured messages over HTTP(S), SFTP, mail, file system and more; its Mapper converts EDI, XML, JSON and CSV | Structured data only | If a partner already sends EDI or XML, map the message: there is no document to read |
Two of these are not about reading documents but matter to the design. eDocs is where operators already look for a shipment's paperwork, so whatever an outside workflow reads should be filed there too. CargoWise workflow already handles tasks, milestones and escalation, so a held document can become a task in the queue operators already work rather than an email in a second inbox. Ask your WiseTech contact which of these your license includes and what each costs: that is the baseline any other option has to beat.
The manual work that remains
After the native capabilities, the keying that remains usually falls into five groups:
- Document types not covered yet, such as arrival notices, delivery orders, booking instructions written in an email body, or bills of lading until their capture is available.
- Checks across documents. A bill of lading, its packing list and the commercial invoice describe the same goods; a capture that reads each one alone does not compare them.
- Matching that needs context: which open shipment a carrier's notice belongs to when its references are partial, or which of two similar organizations a consignee is.
- Documents that never reach eDocs: attachments in shared mailboxes, portal downloads, scans from a warehouse.
- Data that must also reach another system, such as a customer portal or a finance tool, in the same pass.
Measure it before deciding anything. Take one ordinary week, list every document your operators keyed, and sort them by what CargoWise covers today.
Illustrative example, invented figures: one week of keyed documents at a mid-sized forwarder
| Document type | Keyed in the week | Native capture | Decision |
|---|---|---|---|
| Commercial invoices | 420 | Available (Document Management Portal) | Test the native capture first |
| Carrier and agent invoices | 310 | Available (Invoice Processing Portal) | Test the native matching first |
| House and master bills of lading | 260 | Announced, not yet available | Outside workflow now, or wait |
| Packing lists | 240 | Announced, not yet available | Outside workflow now, or wait |
| Arrival notices | 180 | Not listed | Outside workflow |
| Booking instructions by email | 150 | Not listed | Outside workflow |
| Total | 1,560 |
Of 1,560 documents, 730 are types CargoWise captures today, 500 are types it has announced, and 330 are types it does not list. The first decision is not about a vendor: test the native capture on the 730. The 330 are the firm scope for an outside workflow, and the 500 are a timing question: automate now and switch later, or wait.
Interface and access
An outside workflow writes into CargoWise through eAdaptor, the interface WiseTech provides for exchanging data with other systems. WiseTech describes eAdaptor Next as replacing the older SOAP service with REST messages (HTTP and XML), supporting OAuth 2.0 in both directions, basic authentication and certificate-based authentication for inbound messages, and giving each external system its own credentials. If an existing integration of yours still runs on SOAP, raise it with your administrator before adding another one.
We found no public copy of the developer guide or the message schemas. WiseTech's partner page says partners sign a confidentiality agreement before reaching restricted resources, and your administrator is the route to the documentation for your instance. In practice, the field-level design is done with your administrator, against your instance, not from a public reference.
| Item | What to set up | Who grants it | Refuse |
|---|---|---|---|
| Credentials | One set issued for the workflow alone, as eAdaptor Next allows per external system | Your CargoWise administrator | A shared operator login, or credentials reused by another integration |
| Authentication | OAuth 2.0 or certificates; WiseTech also lists basic authentication and a no-authentication option | Administrator with IT security | No authentication on an endpoint that writes shipments |
| Message scope | Only the message types and records the workflow needs, as far as your configuration can restrict them | Administrator | A connection that can change records outside the agreed scope |
| Outbound endpoint | Where CargoWise sends responses or events back, if the design needs them | Administrator and the vendor | Polling the screen to find out whether a write worked |
| Environment | A non-production instance first, if your license includes one | Administrator, with WiseTech if it is a licensing question | Building and testing against production |
| Revocation | A named person who can suspend the credentials at once | Administrator | Credentials only the vendor can change |
On environments: WiseTech's partner page offers partners a shared training environment and dedicated non-production systems for a fee. Whether your own organization has a test instance depends on your license, so ask before the project plan assumes one. Without it, the pilot stays read-only longer, and the first writes to production are limited to one document type, reviewed one by one.
Mapping document fields to CargoWise
Mapping is where most of the work is, and most of it is not about reading text. It is about turning what a document says into the codes and records your instance already holds. Three questions decide every field: which record it belongs to (the house shipment, the consolidation that groups shipments under one master bill, or a customs declaration), which code it must become, and what happens when that code cannot be found.
| Document | Field read | Lands on (illustrative) | Rule before writing | If the rule fails |
|---|---|---|---|---|
| House bill of lading | House bill number | Shipment: house bill reference | Look up an existing shipment by this number before anything else | Found: update path. Not found: see the matching rules below |
| House bill of lading | Shipper, consignee, notify party | Shipment parties, as organization codes | Resolve each party to exactly one existing organization, on identifiers first, then name and address | None or several: review. Never create an organization automatically |
| Master bill of lading | Master bill number, carrier | Consolidation: master bill, carrier organization | Carrier resolved through your own carrier list | Unknown carrier: review |
| Bill of lading | Container numbers and seals | Container lines on the shipment or consolidation | Owner prefix, category letter, six digits and a valid check digit | Invalid check digit: review, with the region of the page shown |
| Bill of lading | Ports of loading and discharge | Origin and destination ports | Converted to the location code your instance uses, such as UN/LOCODE | A port name that matches several codes: review |
| Bill of lading | Vessel, voyage, departure and arrival dates | Transport legs and dates | Dates read unambiguously; departure before arrival | Ambiguous format such as 03/04: review |
| Packing list | Package count and type, gross weight, volume | Packing and weight fields, with units | Units converted with defined factors; totals compared with the bill of lading | Outside tolerance: both documents held |
| Commercial invoice | Invoice number, date, currency, total | Commercial invoice header on the shipment or customs declaration | Sum of lines equals the stated total, within a rounding tolerance | Totals differ: review |
| Commercial invoice | Lines: description, quantity, unit value, origin | Commercial invoice lines | Quantities and values numeric; origin as a country code | Tariff classification is proposed at most, never written silently |
| Arrival notice | Charges and free time | Expected charges and dates on the shipment | Each charge description mapped to one of your charge codes | Unmapped charge: review |
| Any document | The source file | eDocs on the same shipment, under the right document type | Document type mapped to your eDocs types | No shipment found: the file waits with the held data |
Organization codes
CargoWise identifies every party through an organization record. A document gives a name and an address, often spelled differently from one shipper to the next. Match on what is exact first (an account number, a tax identifier, a code the party itself quotes), then on name and address together, and keep a cross-reference of the spellings already resolved so the same variant never goes to review twice. A party that resolves to several organizations is a master data problem to fix in CargoWise, not a choice for the workflow to make.
Reference matching
Before writing, the workflow has to know which shipment the document belongs to. Use the strongest reference first: a shipment or job number the document quotes, then the house bill, the master bill, the booking number, container numbers, and only then the customer's own reference. Each step either finds exactly one open shipment or stops. Container numbers can be checked on their own: an owner prefix, a category letter, six digits and a check digit computed from the rest, which exists to validate how the number was recorded: a number that fails it is held before any lookup. Ports should become the location codes your instance uses, such as UN/LOCODE, never free text.
Structured data is a different job
When a carrier or partner already sends EDI or XML, there is no document to read. The CargoWise Connector handles those transports and its Mapper converts EDIFACT, XML, JSON or CSV. Keep those flows out of a document project.
Checks before anything is written
Three layers of checks, each run before a message is built:
- Each field on its own: formats, check digits, dates read without ambiguity, weights positive and with a unit, codes present in your lists.
- Documents against each other: packages and weights on the bill of lading against the packing list, the invoice total against its lines, the same consignee on every document of the shipment.
- Against CargoWise: the shipment exists and is in a state that still accepts the update, the organizations resolve, and the value about to be written does not overwrite one a person entered by hand.
The tolerances are an operations decision, signed by the operations manager per document type, not a setting the vendor picks. Start strict and loosen one rule at a time with the pilot data in front of you.
Illustrative example, invented figures: one sea import, three documents
The bill of lading states 1,140 cartons and 21,480 kg gross. The packing list has three lines of 400, 380 and 360 cartons (1,140) weighing 7,520, 7,140 and 6,870 kg, 21,530 kg in total: 50 kg more than the bill, a difference of 0.23%. With a weight tolerance of 0.5%, the check passes and the difference is logged.
The commercial invoice has three lines: 400 at 12.50 (5,000.00), 380 at 18.40 (6,992.00) and 360 at 9.75 (3,510.00). They add up to 15,502.00, and the invoice states a total of 15,520.00. The 18.00 gap is outside any rounding tolerance, so all three documents are held together and the operator sees the invoice with the mismatch highlighted. Nothing for that shipment is written until it is resolved.
Duplicate prevention
Duplicates come from four places, and each needs its own key:
- The same file sent twice, for example forwarded by two colleagues: a hash of the file identifies it on arrival.
- The same document in a new file, rescanned or exported again: its type, issuer and document number identify it, and identical field values confirm the duplicate.
- A second document for a shipment that already exists: the reference lookup finds the shipment, so the workflow updates it instead of creating another one. Creating shipments from documents, if you allow it at all, is reserved for the types that open one, such as a booking instruction.
- A message sent again after a timeout: see recovery below. Never resend without checking what CargoWise received.
eAdaptor Next lets a message carry an external message ID. Give every message one, derived from the document and the version being written, so a response or a later check can be tied to it. WiseTech's flyer does not say that CargoWise ignores a second message with the same ID, so do not rely on it: the check belongs on your side.
Recovery after a failed write
A write fails in one of two ways, and they are handled in opposite ways. A rejection means CargoWise received the message and refused it, for a missing code, a record in the wrong state or a value it does not accept: retrying sends the same refusal, so the item goes to review with CargoWise's own error text. A transport failure means the message may or may not have arrived (a timeout, an unreachable endpoint, refused credentials): the item stays in the queue and is retried, after checking.
- Keep an outbox: every message is stored with its status (built, sent, acknowledged, rejected, waiting to retry) before it is sent.
- Retry transport failures with increasing intervals and a ceiling; alert a named person when the ceiling is reached.
- After a timeout, check before resending: look up the record by its references, or match the outbound response by message ID, and resend only what did not arrive, with the same ID.
- Pause all sending on an authentication error. The queue keeps the items; nothing is dropped.
- Reconcile daily: documents received against documents with a final status. The balance must be zero.
The Connector Manager keeps transaction history and error messages on the CargoWise side. Your workflow's own log should still be complete on its own, because the question after an incident is "which documents are affected", and that starts from the document, not from the message.
Document versions and attachments
Bills of lading get amended, invoices get corrected, arrival notices get reissued with new charges. Treat each as a version of the same document, keyed on type, issuer and number:
- Keep every version unchanged, with its hash and arrival time. Never overwrite the original file.
- Compare the new version with the previous one field by field, and update only the fields that changed.
- If a person edited one of those fields in CargoWise after the first write, hold the update: the operator decides which value stands.
- File each version in the shipment's eDocs under the right document type, so the operator sees the history next to the data. How the file reaches eDocs (in the message or by a separate route) is agreed with your administrator.
- Late documents for a shipment already closed or invoiced go to review, whatever they contain.
Failure cases and their handling
The matrix to agree before the build, with whoever runs the workflow and your CargoWise system owner. Every case ends in a known state; none ends in silence.
| Case | Detected by | Handling | Who is told |
|---|---|---|---|
| The same file arrives twice | File hash already seen | Linked to the first item; nothing written | No one |
| The same document, scanned or exported again | Same type, issuer and document number; same field values | Treated as a duplicate and linked | No one |
| An amended document (same number, different values) | Same key, field values differ | Treated as a new version: compare, update only the fields that changed | Operator, if a changed field was edited by hand |
| No shipment matches the references | Lookup returns nothing | Held; the lookup is repeated for a period you set, in case the shipment is opened later | Operator after that period |
| Several shipments match | Lookup returns more than one | Held, with the candidates shown | Operator |
| A party has no organization code | No single match in the organization list | Held; the organization is created by a person through your usual onboarding | Master data owner |
| A cross-document check fails | Weights, packages or totals outside tolerance | Every document of the shipment held together | Operator |
| CargoWise rejects the message | Error in the response | No retry; held with CargoWise's own error text | Operator; system owner if it repeats |
| No response before the timeout | No acknowledgement | Check whether the write happened before sending again, then resend with the same message ID | Alert after the attempts you set |
| Credentials refused | Authentication error | Sending paused for all items; the queue keeps them | System owner and IT |
| Endpoint unreachable | Connection errors | Retries with increasing intervals; items wait in the queue | IT beyond the delay you set |
| Unreadable or partial document | Missing pages, values not found | Held with the reason; a better copy requested | Operator |
| A supplier changes its layout | Review rate for that issuer rises | Layout handled by the vendor, tested on stored samples before release | Vendor; ops manager informed |
| An item never reaches a final status | Age in a non-final status above a threshold | Listed in the daily reconciliation | Ops manager |
Who validates what
Automating entry does not move responsibility for the data. The shipment record stays the forwarder's, and a customs declaration stays the responsibility of whoever files it under the rules of the country concerned. Write down who owns each decision before the pilot:
| Decision | Owner | What that means in practice |
|---|---|---|
| Which document types post without review, and the tolerances | Operations manager | Signs the rules per document type, changes them with pilot data |
| Decisions on held items | Operators | Accept, correct, reject, with a reason recorded for every correction |
| Credentials, message scope, code lists, eDocs types | CargoWise system owner | Issues and revokes access; owns the lists the mapping depends on |
| New organizations | Master data owner | Creates them through the usual onboarding, never from a document |
| Network, secrets, logs, retention | IT and security | Where the workflow runs, how credentials are stored, how long logs are kept |
| Extraction, mapping, monitoring, layout changes | The vendor or internal team that built it | Under a written agreement that names response times |
| Customs declarations | The licensed person who files them | The workflow prepares data; responsibility for the declaration does not move |
Operations and maintenance
The build is the smaller part. What keeps the workflow useful is what happens in the months after:
When a supplier changes its format
A shipper changes its invoice template, a carrier reissues its arrival notice layout. The first sign is a rise in held items for that issuer. Keep a stored set of real documents per issuer and type; every change to the extraction or the mapping is run against that set, and the results compared, before it is released. Agree in writing who makes the change and how fast.
When CargoWise changes
New releases, a change to a message format, or a move from SOAP to eAdaptor Next can affect the messages. Ask your administrator to warn the team running the workflow before an update, and re-run the stored set against the non-production instance when one exists.
When your own lists change
New charge codes, merged organizations, new eDocs types. The mapping reads these lists from CargoWise rather than from a copy made once, or the first new code sends every document that uses it to review.
What to watch every week
- Held items by document type and issuer, and the median time to a decision.
- Rejections by CargoWise, by error, which point to a mapping or a code list to fix.
- Fields corrected after review: a correction made often is a rule to change.
- Items without a final status at the end of the day.
Total cost and the pilot
Compare options on everything they cost, not only the subscription:
- The native option: whatever WiseTech charges for the portals on your license, and the review time they leave.
- An outside workflow: the build and the subscription, the administrator's time to set up eAdaptor and the codes, any WiseTech fee for a non-production instance, and the review time it leaves.
- On both sides: who maintains the mapping when formats change, and what an error that reaches a customs filing or an invoice costs you.
Then run a pilot that writes nothing to production until it has earned it: read only first, with operators keying as usual and the results compared field by field; then writes to the non-production instance; then one document type in production. The general method is in the document automation pilot guide. The pass marks specific to CargoWise:
| Measure | Definition | Pass mark |
|---|---|---|
| Fields correct, per document type | Share of fields where the workflow's value equals what the operator keyed, after the operator's own errors are set aside | A level you set per field before the pilot; stricter for parties and references than for free text |
| Shipment matching | Documents attached to the right shipment, or held when no single match exists | No document written to the wrong shipment |
| Duplicates | Documents sent twice during the pilot, written once | Zero written twice |
| Lost items | Items received minus items with a final status, per day | Zero, every day |
| Review load | Held items per day and the median time to a decision | A level the team can absorb without overtime |
Where Mirage fits
Mirage builds and runs this kind of workflow: it reads the documents your team keys, runs the checks above and writes into the system you already run. For CargoWise it connects through eAdaptor, with credentials your administrator issues and can revoke. Mirage holds no WiseTech partnership, certification or listing and has not published a CargoWise deployment; its offer, and the questions to put to any vendor, are on the CargoWise integration page.
Its published integrations are with other systems. At Transwin, a Moroccan logistics operator, Mirage reads freight and customs documents and writes them into Transwin's TMS; the case study reports 70% less manual data entry on freight documents, for that deployment. At OFRET Groupe, Mirage connected to the Logitude World API and started with freight document extraction before moving to quote requests. Neither runs on CargoWise. For other systems, see TMS data entry automation.
Questions readers ask
Partly. WiseTech's Document Management Portal captures commercial invoices uploaded through eDocs and can post them straight through when its accuracy thresholds are met; its flyer lists bills of lading, packing lists and transport bookings as coming. The Invoice Processing Portal matches supplier invoices to jobs and accruals. Test both on your own documents before scoping an outside workflow.
No. A party that does not resolve to exactly one existing organization goes to a person, who creates it through the usual onboarding if it is genuinely new. Organizations created from documents multiply duplicates that later break billing, reporting and matching.
eAdaptor is the interface WiseTech provides for outside systems, with credentials of their own that the administrator issues and can revoke, and messages that can be traced one by one. Screen automation types into the user interface with an operator's login, breaks when the screens change and leaves no structured record of what was sent.
If it is the same file, its hash identifies it and nothing is written. If it is the same document in a new file, its type, issuer and number identify it; identical values make it a duplicate, different values make it a new version, and only the fields that changed are updated, with review where a person had edited them.
Give every incoming document an ID on arrival and require a final status for each one: written, held with a reason, duplicate, or not a freight document. A daily count of documents received against final statuses must balance, and anything still open after a delay you set alerts a named person.
Sources and scope
Checked on . Scope: entering data from freight documents into CargoWise. CargoWise facts are WiseTech Global's own descriptions; CargoWise changes, so confirm each with WiseTech and your administrator before you build. The method, tables and examples are Mirage's, with invented figures.
- CargoWise, Document Management Portal (flyer): capture of commercial invoices uploaded through eDocs; manual review or straight-through posting when accuracy thresholds are met; side-by-side review; business rules that hold exceptions; bills of lading, packing lists and transport bookings listed as coming
- CargoWise, Invoice Processing Portal (flyer): invoices uploaded, emailed, imported by EDI or added from a job; matched to jobs and accruals; clean matches posted, exceptions flagged
- CargoWise, eAdaptor Next (flyer): OAuth 2.0 inbound and outbound, basic and certificate-based authentication, REST (HTTP and XML) replacing SOAP, separate credentials per external system, external message ID, outbound message tracking
- CargoWise Connector (flyer): transports (HTTP(S), FTP, SFTP, FTPS, mail, file system, SQL/ODBC, REST), EDI and XML formats, the Mapper, the Connector Manager's transaction history and error logs
- CargoWise, eDocs: documents stored against shipments, required document types added automatically, uploads by trusted third parties, workflow to chase missing documents, access rights by company, branch or department
- CargoWise, How to create workflows that work for you: milestones, tasks, triggers, escalation, workflow templates that set which fields are populated
- WiseTech Global, partners: integration scopes (interface development, eAdaptor, EDI); confidentiality agreement before restricted resources; training and non-production environments for partners
- WiseTech Global, acquisition of Shipamax (November 2, 2022): Shipamax's document-to-data automation to be embedded in the CargoWise document engine
- BIC, container number check digit: structure of a container number (owner prefix, category, serial number, check digit)
- UNECE, UN/LOCODE: the United Nations code list for trade and transport locations
Related on this site
- CargoWise integration: Mirage's offer, and eight questions to ask any vendor
- Document automation pilot: how to run the pilot and set pass marks
- Freight forwarding software: choosing the system of record itself
- TMS data entry automation: the same work for Descartes, Magaya and other systems
- Shipamax alternatives: the document automation WiseTech acquired
- AI agents vs RPA: why screen automation is a weak way to write into a TMS
- How to audit carrier invoices: the checks on carrier invoices before they reach payables
- TMS integration for freight document automation: integration patterns across TMS platforms
Send a week of the documents your team keys into CargoWise
We sort them by what CargoWise captures itself and what it does not, and send back, in writing, the field mapping, the checks and the failure handling we would set up for the rest.
Prefer to talk it through? Book a call