Changing forwarding systems is mostly a data problem and a sequencing problem. This is the order the work actually falls in, written from what a migration into Cargonio takes — the parts about exports, dependency order and reconciliation apply wherever you are moving to.
Before you commit to anything
Most bad migrations are decided here, not during the import.
- Write down the ten screens your team actually opens every day. A demo can be made to look good on any screen. The daily ten are what you are really buying.
- List what your current system holds that you cannot lose — parties, charge codes, the chart of accounts, open jobs, unpaid invoices, balances. This list is your migration scope. Everything else is optional.
- Confirm you can get each of those out as a file, yourself, without paying your current vendor. If the answer is no, that is the single biggest risk in the whole move — find out now, not in month three.
- Agree the go-live date with whoever closes your books. Switching mid-period means reconciling two systems for one month. The first day of a period is cheaper.
Getting your data out
Whatever the old system can produce — a report exported to Excel, a table dumped from its database — the target is a plain UTF-8 CSV with one header row and one record per line.
- Keep the old captions as the CSV headings. A good importer matches your headings onto its own fields. The closer they are to the old wording, the less mapping you do by hand.
- Export codes, not descriptions, wherever the old system holds both. Codes are what the new records will point at each other with.
- Write dates as YYYY-MM-DD. It is the one format no importer reads backwards.
- Split anything over a few thousand rows into several files. In Cargonio the ceiling is 5,000 data rows per file; most importers have one.
- Keep a copy of every export, untouched, somewhere outside both systems. It is your only way back if a load goes wrong.
Loading it in the right order
Almost every record points at another one: an account points at a control, a job points at a party, an invoice points at a job. Load in dependency order and each file finds what it needs. Out of order, rows are rejected for naming codes that do not exist yet — the most common reason a migration stalls.
| # | Load | Why it comes first |
|---|---|---|
| 1 | Group codes → control codes → chart of accounts | Everything financial hangs off the chart. |
| 2 | Sector codes → country codes → destination codes | Routing is a chain; each tier names the one above it. |
| 3 | The remaining code files — currencies, commodities, container types, charge codes, job types, airlines, shipping lines, vessels, signatories | The job and invoice screens pick from these. |
| 4 | Parties, associates, sub-agents, SPO codes | Your counterparties, which the code files above may already reference. |
| 5 | Opening balances | Needs every account to exist first. |
| 6 | Employees and their salary records, if you run payroll in the system | Payroll reads them. |
| 7 | Live jobs, then the documents raised against them | A document names its job; the job has to be there. |
- Import one file at a time and read the dry-run counters before you commit it. Cargonio checks the whole file first and tells you what would be added, updated or left out; nothing is written until you press the last button. Insist on the same anywhere else.
- When a load reports errors, look for the one systematic cause before fixing rows. Two hundred failures are almost never two hundred different problems.
Deciding what history to bring
- Bring open jobs, outstanding invoices and account balances. These are the things your team will work on Monday morning.
- Leave settled years in the old system and keep it readable for a while. Migrating closed history costs weeks and is read a handful of times. Keeping the old system on a spare machine costs almost nothing.
- Note the date you stop entering into the old system, in writing, and tell everyone. Two systems accepting entries on the same day is how balances quietly diverge.
Proving the numbers before you go live
Do not accept "the data is in" as the finish line. Three checks decide whether the move worked.
- Run the trial balance in the new system and compare it, line for line, with the closing trial balance from the old one. If the two agree, your opening balances are right. If they do not, nothing downstream can be.
- Run party-wise outstanding and compare the total with your old aged debtors. It is what your collections calls will be made from.
- Spot-check a handful of open jobs against their paperwork. A file can import cleanly and still be mapped into the wrong column.
Cutover week
- Create the users and set their permissions before go-live day, not on it. Nothing burns a first morning faster than half the desk unable to sign in.
- Check that every user opens onto the right branch and fiscal year. Cargonio scopes what you see to the branch and year you are working in; a mis-set context looks like missing data.
- Once the opening balances are agreed, close the period against further entry. In Cargonio that is the Data Block Date. It stops a helpful colleague from posting into a period you have just reconciled.
- Keep the old system readable, and read-only, for at least one closed period. It is your reference and your fallback, and it costs nothing to leave running.
Questions worth asking any vendor — including us
Ask these of every system on your shortlist and write the answers down. Ours are on the FAQ and knowledge base, limits included.
- Which screens have a CSV import, and which have to be keyed? The honest answer is never "all of them". In Cargonio it is 130 screens.
- What posts to the general ledger automatically, and what does not? Anything that does not post is a journal someone has to remember to write. In Cargonio, payroll and the Invoicing module's own invoices do not post to the ledger.
- Which documents can be edited after they have been finalised, and who can unlock them? This is your audit trail. Ask to be shown the block working, on screen.
- Can I export everything back out, on my own, whenever I like? The answer tells you what leaving costs. In Cargonio the 130 screens that import from CSV export back to it, and so does every report.
- What does the price include a year from now — the fee, the modules, support, upgrades? Software you cannot budget for is software you will be arguing about.
Why it comes first
The checklist above stays here, free and unlocked. If you would rather we picked the conversation up when you are ready, leave a work email — it reaches the same queue as our contact form, a person reads it, and there is no automated sequence behind it.
The migration articles in the knowledge base go a level deeper — the four import steps screen by screen, what the checker rejects, and how to read the errors.