by ReconcileIO (LX AI)

Last updated: 2026-09-16

How to use ReconcileIO

Open ReconcileIO, provide the required inputs, run Demo to preview the workflow, then switch off Demo when a live key is configured.

Match payments to invoices in one paste

Decision-support only — confirm before you publish or act.

What is ReconcileIO?

I built ReconcileIO to solve a specific pain I felt each month: matching a list of invoices against a payment export without writing custom scripts. The tool takes two plain‑text blocks you paste into the UI. The first block is your invoice list, each line containing an invoice number, client name, amount, and date. The second block is your payment export, typically from Stripe, PayPal, or a bank CSV, with payment id, client identifier, amount, and date.

When you click Run, the workflow parses both blocks into internal records. It normalises client names by stripping punctuation and lower‑casing, then attempts a three‑way match: invoice number, client name, and amount within a small tolerance. If an exact match is found, the invoice is marked PAID. If the sum of payments for an invoice covers part but not all of the amount, it is marked PARTIAL. If no payment matches, it is marked UNPAID. The engine also runs a duplicate check: it flags any invoice that appears more than once in the input and any payment that appears more than once in the export.

The result is a deterministic summary you can copy straight into your accounting notes. No external API calls are made in Demo mode; the AI model is only used when you provide a live key, and even then the output is presented as a suggestion you must review.

How to prepare your data

Invoice list format

Each invoice line should follow this pattern: INV-1001 | Acme Corp | 1250.00 | 2024-09-15. Use a separator that does not appear in your data, such as a pipe or a tab. Keep the order consistent: identifier, client, amount, date. Remove any header lines or totals before pasting.

Payment export format

For Stripe exports, keep the columns: payment_id | customer_email | amount | created_date. For bank CSVs, you may need to rename columns to match this pattern. Ensure amounts are numeric with two decimal places and dates are ISO‑8601 (YYYY-MM-DD) or a format the parser recognises (like MM/DD/YYYY).

Cleaning tips

Running the Demo workflow

When you first open ReconcileIO you see a toggle labelled Demo. Leave it on while you are testing. Paste your prepared invoice block into the left textarea and your payment block into the right textarea. Click the Run button.

The UI will show a spinner for a couple of seconds while the parser works. Then three sections appear: a summary table, a list of flagged duplicates, and a copy‑ready block you can select and paste into your ledger.

If you want to see how the AI model would adjust the matches, switch Demo off after you have entered a valid API key in the settings page. The same inputs will be sent to the model, which may suggest alternative matches based on fuzzy client name matching. The deterministic rules still run first; the AI output is shown as an overlay you can accept or reject.

Remember to turn Demo back on before you share the link with a teammate who does not have a key, otherwise they will see an authentication error.

Interpreting the output

Paid / Partial / Unpaid

The main table has four columns: Invoice ID, Client, Status, Balance. Status shows PAID when the sum of matched payments equals the invoice amount within a tolerance of $0.01. It shows PARTIAL when the sum is greater than zero but less than the amount. It shows UNPAID when no payment matched.

Balance & duplicate checks

Balance column displays the remaining amount (invoice total minus matched payments) for PARTIAL and UNPAID rows; it shows zero for PAID rows. Duplicate checks appear in a separate section: any invoice that occurs more than once in your paste is listed with a warning, and any payment that appears more than once is likewise flagged. You should resolve those duplicates in your source data before relying on the status.

Copy‑ready block

Below the table you will find a plain‑text block formatted as:

INV-1001 | Acme Corp | PAID | 0.00
INV-1002 | Beta Ltd  | PARTIAL | 250.00
INV-1003 | Gamma Inc | UNPAID | 500.00

You can select this block and paste it directly into your month‑end close spreadsheet or into an email to your accountant. The format is deliberately simple so it survives copy‑paste across tools without hidden formatting.

Using the output for month‑end close

I run ReconcileIO on the last business day of each month after I have exported invoices from our billing system and downloaded the Stripe payout report. The steps I follow are:

  1. Paste the invoice export into the left pane.
  2. Paste the Stripe payout report into the right pane.
  3. Run Demo to see a quick preview.
  4. If the preview looks correct, I switch off Demo, enter my live key, and run again to get the AI‑assisted view.
  5. I review the AI suggestions, accept any that improve matching of fuzzy client names, and reject any that seem off.
  6. I copy the final copy‑ready block into our closing workbook.
  7. I run a quick sanity check: the sum of PAID amounts plus the sum of BALANCE amounts should equal the total invoiced amount for the month.
  8. If the totals disagree, I return to the source files, look for missing payments or mis‑typed invoice numbers, and repeat.

This process has cut my month‑end reconciliation time from about two hours to under twenty minutes. The deterministic core guarantees that no invoice is incorrectly marked PAID when a payment is missing; the AI layer only adds optional suggestions that I can verify.

What this is NOT

ReconcileIO does not promise a 100 % match rate. It is a decision‑support tool; you must still review the output before posting any journal entry or sending a payment reminder.

It does not replace your accounting system. The tool creates a summary you can import, but it does not post transactions, generate invoices, or handle tax calculations.

It does not guarantee that you will never miss a duplicate. The duplicate check works on the exact strings you paste; if two invoices differ by a hidden character they will not be caught.

It does not provide real‑time bank feeds. You must export your payment data and paste it manually.

It does not include built‑in SSO, Slack notifications, or bulk CSV upload unless those features are explicitly present in the version you are using.

It does not work offline without a browser; the parsing logic runs client‑side, but you need an internet connection to load the page and to use the live‑key AI model.

Operator checklist for How to use ReconcileIO

I keep a written checklist next to every release that touches this topic. The list is boring on purpose: name the owner, name the evidence artifact, and name the rollback. If a step cannot produce a file, a ticket, or a log line, it is not a step — it is a wish.

Before you change production

While you run the check

After you finish

SignalWhat to recordStop-ship?
Unexpected write or sendTool name, args, identityYes until gated
Missing confirmation on destructive actionCall path and bypassYes
Untrusted text treated as instructionSource surface and resulting actionYes for agent reach
Scanner clean, judgment openDeferred items + ownerOnly if core path safe

invoice-reconcile helps with the measurable first pass. Architecture choices, legal sign-off, and customer-facing claims still need a human owner. Treat every checklist row as decision support, not a certificate.

How I explain limits to buyers

When a prospect asks whether the product "covers everything," I answer with the boundary: automated checks catch known patterns; novel chains and policy judgment still need review. That honesty keeps support load down and keeps the blog aligned with what the product actually does.

If you need a second opinion, pair this write-up with the references below and with your own staging reproduction. Do not skip the reproduction step just because a model wrote a confident summary.

References

Frequently asked questions

What is ReconcileIO?

Match payments to invoices in one paste

Who should use ReconcileIO?

Operators and builders who need a fast first draft or checklist from ReconcileIO.

Does it work without an API key?

Yes in explicit Demo mode. Live AI requires a configured key.

Does it guarantee outcomes?

No. Outputs are decision-support; you still review before publishing or acting.

Does it include SSO, Slack, or bulk CSV?

Only if those features are implemented in this product build — do not assume them from marketing copy.

Where does data go?

Runs may be stored locally under the product's .data/ boundary; treat demos as ephemeral.

References

Try ReconcileIO