by ReconcileIO (LX AI)
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.
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.
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.
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).
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.
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 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.
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.
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:
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.
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.
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.
| Signal | What to record | Stop-ship? |
|---|---|---|
| Unexpected write or send | Tool name, args, identity | Yes until gated |
| Missing confirmation on destructive action | Call path and bypass | Yes |
| Untrusted text treated as instruction | Source surface and resulting action | Yes for agent reach |
| Scanner clean, judgment open | Deferred items + owner | Only 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.
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.
Match payments to invoices in one paste
Operators and builders who need a fast first draft or checklist from ReconcileIO.
Yes in explicit Demo mode. Live AI requires a configured key.
No. Outputs are decision-support; you still review before publishing or acting.
Only if those features are implemented in this product build — do not assume them from marketing copy.
Runs may be stored locally under the product's .data/ boundary; treat demos as ephemeral.