Skip to main content
2,200+ contractors in the research universe benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level
Practical guide

AR and AP Migration Reconciliation Checklist

Accounts receivable (AR) is money customers owe you. Accounts payable (AP) is money you owe suppliers. When you change accounting systems, both the unpaid items and the totals must transfer correctly. This checklist explains what to compare before signing off on the move.

Try the 2-min diagnostic

Financial evidence in practice

What should an AR and AP migration acceptance test compare?

Opening totals are necessary but insufficient. Preserve invoices, bills, credits, payment applications, original dates and approved customer/vendor identities at one cutover. An equal aging total can hide missing or reassigned open items.

The bank example below illustrates the same problem: equal totals can hide different records. It is not an AR/AP migration test. Use the invoice and customer example in this guide, then compare the actual open customer invoices and supplier bills at your cutover.

Run the check

  1. Freeze both source cutoffs and legal entities.
  2. Compare original and open balances with application histories.
  3. Retain unresolved mappings and conversion-loaded balances separately.
  4. Test collection/payment follow-through in the first close before accepting the migration.

Fictional example: Equal totals with different bank occurrences

Both fictional lists total a $26 outflow. Only occurrence A matches. The second bank row is September 29; the unresolved ledger row is October 2, so the lists span different cutoffs. Equal totals and repeated $13 values cannot prove the second match.

Invented teaching inputs; downloadable files store these dollar amounts in USD cents. Incoming amounts are positive and outgoing amounts negative. A card charge credits its liability account.

Inspect the expected output
{
  "fictional": true,
  "unit": "USD cents",
  "id": "bank-identity",
  "totalsTie": true,
  "matchedIds": [
    "A"
  ],
  "unmatchedBank": [
    "B"
  ],
  "unmatchedLedger": [
    "C"
  ],
  "decision": "Same amount and equal totals do not prove occurrence identity",
  "limitation": "This is teaching arithmetic from supplied invented inputs, not source authenticity, financial assurance or authority to post."
}
Reproduce this calculation

Download the code and input into one folder, then run:

node reproduce.mjs bank-identity.input.json

The code checks declared units and identities and refuses unsupported inputs. No browser or customer account is used. Source authenticity and accounting approval require separate evidence.

Reviewed 2026-10-09. Level financial-control guidance, with visibly fictional teaching examples. The example shows a control boundary, not a measured customer outcome or industry benchmark.

Read this content revision history

Continue with the related financial decision →

1. Agree on a cutoff date and save the old reports

Choose the date that separates the old books from the new books. Record which companies, currencies, transaction types and statuses are included. Decide what historical detail will transfer and how opening balances will be kept separate from new transactions.

Save the AR and AP aging reports, unpaid invoice and bill detail, credits, payment allocations and general-ledger balances as of that date. Record the filters and export time so the team can repeat the comparison.

The takeaway: Compare reports for the same date. A payment entered after the cutoff can explain a difference without proving the migration was wrong.

2. Compare the unpaid items, then compare the totals

For each customer and supplier, compare document numbers, original dates, due dates, original amounts, unpaid balances, credits, payments and write-offs. List unapplied customer payments, customer deposits and supplier prepayments separately, and agree with your accountant how they were carried into the new books. Keep a documented link between old and new customer, supplier and document IDs. Add up the detail and compare it with the aging reports and AR or AP accounts in the general ledger.

Investigate each difference: a missing or duplicate item, a different report date or status, a wrong customer or account, a payment applied to the wrong invoice, or an opening-balance entry that needs correction. Record the explanation, person responsible and next action.

The takeaway: Matching totals can hide an invoice assigned to the wrong customer or a bill that was replaced by a different bill.

3. Check the new books and the first month-end

After importing or correcting records, open them in the new accounting system and check their balances and payment allocations. Refresh any dashboard or reporting copy, then confirm it uses those same current records.

At the first month-end, repeat the AR and AP comparisons. Also review cash, payments still in transit and work in progress (WIP) where relevant to your business. Keep these related checks separate: a customer balance, a bank balance and WIP do not measure the same thing.

The takeaway: A file can be accepted without producing the right accounting result. Verify the records and reports before signing off.

Get the next one

Get next week's benchmark by email

Level research covers 2,242 contractors. Each benchmark uses its own eligible sample, shown with the metric. One email a week.

Illustrative example: the total matches, but the customer is wrong

Suppose the old system shows Invoice 1001 for Customer A with $2,000 still unpaid. The new system imports the same invoice number and $2,000 balance under Customer B. Both AR reports total $2,000, but the customer detail is wrong. This is an invented example, not a client result.

Compare the customer and document IDs as well as the amount, then correct the customer link through the approved process. Check any linked credits or payments and rerun the customer aging and ledger comparison. For supplier bills, run the equivalent check on the supplier and bill IDs.

The takeaway: A matching grand total does not show who owes you money or whom you should pay.

Why dates and record IDs matter: documented software examples

Microsoft documents that Business Central's Vendor - Balance to Date report includes an invoice within its date range that was still unpaid at the ending date, even if a later payment has since closed it. Report filters and options affect what appears. This is why the comparison date and filters matter.

Oracle documents that NetSuite invoices must be imported first when you want imported customer payments applied to those invoices. Imported payments link to invoice internal or external IDs; the displayed transaction ID is not unique. That specific rule applies to NetSuite, so check your own system's import instructions rather than assuming invoice numbers always provide a unique link.

Before you sign off on the migration

Use these practical checks with your accountant and the records you moved. They are Level's recommended review steps; your software's import instructions and your accounting policies determine the specific setup.

  • Use the same company, currency, cutoff date and report filters in the old and new systems.
  • Match each unpaid invoice or bill to the correct customer or supplier, using a documented link between the old and new record IDs.
  • Preserve original invoice dates and due dates so the aging report still shows how long each balance has been outstanding.
  • Check that credits, partial payments and write-offs reduce the intended invoices or bills. A payment in the wrong customer account can leave the grand total looking correct.
  • Add up the unpaid customer and supplier balances and compare them with the AR and AP balances in the general ledger. Explain and correct differences before calling the balances reconciled.
  • Open the imported records in the new system, rerun the reports and repeat the checks at the first month-end. An import-success message alone does not prove the books are correct.

The takeaway: Keep the comparison reports, explanations and accountant's sign-off together so the team can verify what changed.

Use the data yourself

Frequently asked

What must reconcile after an accounting migration?

Compare unpaid customer invoices and supplier bills, credits, payment allocations, aging reports, opening balances and the AR and AP accounts in the general ledger at the same cutoff date. Also check cash in transit and WIP where relevant. The exact scope depends on the records you moved and your accountant's migration plan.

How should historical records appear after cutover?

Keep the original document dates, due dates, unpaid amounts and links to the old records needed to collect, pay and explain each item. A conversion date should not replace an invoice date and make an old debt look new.

When is a migration actually complete?

When the imported records and reports have been checked, balances reconcile and the responsible accountant has reviewed the result. Assigning an owner to an unexplained difference does not make it reconciled. Any remaining exception needs a documented explanation and an explicit decision about whether it prevents sign-off.

Know what to check before switching accounting systems.

We help compare the old and new books, investigate differences and agree who will check the result.

2,200+ businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. Start with a 15-min call. We only follow up if we can actually help.

No commitment. Help with your accounting workflow.