One-time downloads · $2.99–$9.99 USD. No subscription.

Perunlight

Step-by-step guide

NjordMatch

Reconcile bank and Shopify CSV exports locally. Import two CSV exports, map their columns, inspect proposed transaction matches and differences, and export your reconciliation for review.

Customers pay by bank transfer quoting their order number, and you want to see which pending Shopify orders have a matching payment before you update them yourself.

Get NjordMatch · $7.99

The guide and practice files are free to read and download. The complete program is in the paid download; the free practice pack does not include it.

See it in use

Reconcile fictional bank lines to shop orders

A screenshot walkthrough with fictional practice data. Select a step to explore.

1. Start with

Reconcile fictional bank lines to shop orders

The guide provides five bank rows and four order rows.

Sample files and contents

examples/njordmatch/fictional-bank-statement.csv (5 fictional bank lines) and examples/njordmatch/fictional-shopify-orders.csv (4 fictional pending orders).

Practice files and guides are free. The complete app is included only where the product page says so.

2. In the app

Real desktop Google Chrome capture using the bundled synthetic example
Real desktop Google Chrome capture using the bundled synthetic example; four synthetic payment transactions reviewed and exported to CSV. Enlarge image ↗

Try it in three steps

  1. Load both CSVs and preview reconciliation.
  2. Select exact matches and explicitly confirm review.
  3. Export the reconciliation CSV.
Show every click and setting
  1. Open your local NjordMatch page. Choose fictional-bank-statement.csv under Bank statement and fictional-shopify-orders.csv under Shopify order export CSV.
  2. Keep Dot and YYYY-MM-DD; the column lists fill in automatically. Click Preview reconciliation.
  3. Click Select all exact matches, then tick I reviewed these results and confirm the report.
  4. Click Export reconciliation CSV.

3. The result

Inspect the result

The actual fixed-example CSV records two exact matches, two unmatched bank rows and one excluded debit. It does not reconcile a live account.

Selected columns from the actual fictional example CSV. Download the file above for every column.
referencestateorder
#2041Exact match#2041
#2042Exact match#2042
#2043Unmatched
#2044Unmatched
Card fees SeptemberExcluded
#2043No exact payment#2043
#2045No exact payment#2045
What to check in the practice result

The summary reads “5 payment rows: 2 match, 0 ambiguous, 2 unmatched, 1 excluded/invalid; 0 row errors.” BK-2001 and BK-2002 are Exact match for orders #2041 and #2042. BK-2003 is Unmatched with “Amount or currency differs” (19.00 was paid, order #2043 is 21.00); BK-2004 is Unmatched with “No eligible order with this reference”; the card-fee debit BK-2005 is Excluded as “Not a credit”. Orders #2043 and #2045 appear under “Orders without an exact payment (2)”. njordmatch-report.csv has 7 rows, with selected = yes for the two accepted matches.

The public expected CSV matches the guide’s published bank and order inputs. It is a fixed fictional example, not live reconciliation.

See the workflow at a glance

Choose a short explanation, then follow the worked example below. Check the requirements and compatibility before using your own files.

Keep the unmatched payment visible.

A reference number alone is not the whole reconciliation. NjordMatch compares mapped bank and Shopify CSV exports so you can review exact matches, amount differences and unmatched rows. The fictional example accepts two matches, leaves a 19.00 payment against a 21.00 order unmatched and excludes a card-fee debit. Run it locally with Node.js and desktop Chrome, then export your reviewed report. It does not connect to a bank, move money or post accounting entries; your mapping and review remain essential.

View the illustrated card
Keep the unmatched payment visible. — the same explanation written above, with a labelled illustrative panel.
Download the full-size PNG card

Choose a free example or the purchased program

No purchase is needed to inspect the workflow. The two routes have different capabilities.

  1. Try the fixed example in your browser

    Review five fictional payments, select the two prepared matches and download a seven-row example report. No setup, account or private files. This teaching page does not import or reconcile your files.

    Open the free fixed example

  2. Use your own files in the purchased program

    The $7.99 one-time local download includes the program. The free guide pack does not. Check Node.js and desktop Chrome requirements below.

    Check the full program’s requirements

Before you start

  • Desktop Google Chrome or another Chromium-based browser. The tool was checked in desktop Chrome; other browsers are not verified.
  • A bank statement as CSV or CAMT.053 XML and a Shopify order export CSV: UTF-8 text, up to 2 MB and 10,000 CSV rows per file.
  • Statement columns for transaction ID, reference, amount, currency and date (direction and booking status if available); order columns for order name, total, currency and financial status.
  • For the purchased program: install Node.js 20.12 or newer. Extract the purchased NjordMatch ZIP and open its NjordMatch folder, then run: node start.mjs
    Open http://127.0.0.1:8787/ in desktop Google Chrome. Keep the terminal open; Ctrl+C stops it. The free guide pack has no program or start.mjs file.

Your first result

  1. Open the downloaded local edition

    These steps run the purchased program. Extract the purchased NjordMatch ZIP, open its NjordMatch folder and run: node start.mjs
    Open http://127.0.0.1:8787/ in desktop Google Chrome. Keep the terminal open while using the program. The free guide pack contains documentation and fictional input files only. Before buying, use the separate fixed example linked above.

  2. Open NjordMatch

    In your open local copy, follow the controls described below. The three steps are Import files, Map columns and conventions, and Review and confirm.

  3. Import both files

    Choose your file under Bank statement (CSV or CAMT.053 XML) and under Shopify order export CSV. To practise first, click Load synthetic demo, which loads two small made-up files.

  4. Check columns and formats

    Choose the Decimal separator (Dot or Comma) and Date convention (YYYY-MM-DD, DD/MM/YYYY or MM/DD/YYYY). Check each column list: Transaction ID, Reference, Amount, Currency, Date, Direction and Booking status for payments; Order ID, Reference, Outstanding amount, Currency, Financial status and Cancelled at for orders. Standard headings are filled in automatically and the first two rows of each file are shown. Click Preview reconciliation.

  5. Review the results

    Each bank payment gets a state (Exact match, Ambiguous, Unmatched or Excluded) with a reason; orders without an exact payment are listed after the payments. What the states mean explains each one. Tick the matches you accept, or click Select all exact matches.

  6. Confirm and export

    Tick I reviewed these results and confirm the report, then click Export reconciliation CSV. The download njordmatch-report.csv lists every payment row, every order without an exact payment and any row errors, with a selected column. Update orders in Shopify yourself; NjordMatch changes nothing there.

A worked example

Reconcile five fictional bank lines with four orders

Input: examples/njordmatch/fictional-bank-statement.csv (5 fictional bank lines) and examples/njordmatch/fictional-shopify-orders.csv (4 fictional pending orders).

  1. Open your local NjordMatch page. Choose fictional-bank-statement.csv under Bank statement and fictional-shopify-orders.csv under Shopify order export CSV.
  2. Keep Dot and YYYY-MM-DD; the column lists fill in automatically. Click Preview reconciliation.
  3. Click Select all exact matches, then tick I reviewed these results and confirm the report.
  4. Click Export reconciliation CSV.

Expected result: The summary reads “5 payment rows: 2 match, 0 ambiguous, 2 unmatched, 1 excluded/invalid; 0 row errors.” BK-2001 and BK-2002 are Exact match for orders #2041 and #2042. BK-2003 is Unmatched with “Amount or currency differs” (19.00 was paid, order #2043 is 21.00); BK-2004 is Unmatched with “No eligible order with this reference”; the card-fee debit BK-2005 is Excluded as “Not a credit”. Orders #2043 and #2045 appear under “Orders without an exact payment (2)”. njordmatch-report.csv has 7 rows, with selected = yes for the two accepted matches.

Troubleshooting

A payment I expected to match is Excluded.

Only booked credits (direction CRDT, status BOOK) can match, and rows without a direction or status are excluded. Map the Direction and Booking status columns if your bank provides them.

An order never matches.

Only pending or unpaid orders are eligible, and the reference, amount and currency must match exactly. The reference comparison ignores one leading # and letter case; payer names and partial references are never used. A partial payment shows as Unmatched.

A payment shows as Ambiguous.

A transaction, payment reference or order reference appears more than once, so NjordMatch never proposes a match. Check the duplicates in your exports.

Amounts or dates look wrong in the preview.

Set Decimal separator to Comma for amounts such as 49,90, and pick the Date convention your bank uses.

Export reconciliation CSV is greyed out.

Click Preview reconciliation first, then tick I reviewed these results and confirm the report.

My files are gone after reloading the page.

Imported files stay only in the current browser tab and are never uploaded or stored. Choose them again.

Compatibility & limits

  • Local CSV comparison only: no bank or Shopify connection, and orders are never marked as paid.
  • Exact matches only (reference, amount and currency); review every proposed match.
  • Not an accounting or audit certification.
  • The complete program is supplied as a purchased local download. The public guide and practice data help you assess the workflow before buying.

Need a hand?

Tell us the product, host application and version, what you tried, and the exact error. Contact support with a fictional example; keep private customer files and passwords out of your message.