Changelog
What's New
The latest features and improvements to InvoiceParser Pro.
Improved
GL Coding — Visible Vendor Rule Learning with Undo
- •When you change the GL account on an invoice in the Review page, the system has always saved that as a default rule for the vendor — silently. Now you see a small notification confirming the rule was saved, with a one-click Undo if it was the wrong move.
- •Notification shows the vendor name and the GL code/name that was learned. Auto-dismisses after 6 seconds; Undo button works the entire time.
- •Undo deletes the rule completely (the row in firm_vendor_rules), so the next invoice from the same vendor goes back to whatever GL it would have had before.
- •No change to the auto-coding behavior itself — vendor rules still apply on future invoices the same way they always have. This is just visibility + a safety net.
Improved
Bulk Approve from Review Queue
- •New checkboxes on every pending invoice in the Review queue. Pick rows with the per-row checkbox or "select all visible" in the header, then approve or flag the whole selection from a sticky bottom bar.
- •Validation gate: invoices with math errors are skipped on bulk approve and called out in the result toast — same gate as auto-approve, so what gets approved in bulk matches what would auto-approve. Open the row individually to override.
- •Already-reviewed rows can't be selected. Filters/page change clears the selection so you never act on a row that's no longer visible.
Improved
Reject Reason Templates
- •Rejecting an invoice now opens a small dialog asking why — wrong currency, missing PO number, disputed line item, duplicate invoice, vendor mismatch, unauthorized purchase, incomplete extraction, or other (free text). Closes the audit-trail gap where rejected invoices left no structured record of why.
- •The chosen reason shows up on the rejected status banner in the Review page and gets logged with the activity entry, so the next reviewer or auditor can see "Rejected — Wrong currency" without digging through notes.
- •Existing free-text notes are preserved — anything written before this PR keeps showing as plain text. New notes can still be free-form on top of the structured reason.
Improved
SWIFT BIC Currency Disambiguation
- •A bare "$" on an invoice from a country whose local currency is also written "$" (Namibia, South Africa via "R", and similar) now resolves to the correct local currency when the invoice carries a SWIFT/BIC code. The bank's country code (chars 5-6 of the BIC) is read as the settlement currency.
- •Direct extraction fields (bank_swift_code / bank_bic / swift_code / swift_bic / bic) are checked first; failing that, payment-instruction blocks and footer text are scanned for BIC-shaped strings.
- •Unambiguous symbols still win — N$, R$, US$, €, ₹ and explicit currency text override the BIC layer. The override only fires for the bare ambiguous symbols.
- •Closes the limitation noted in the 2026-04-29 multi-currency release.
New
Per-Client Defaults — Currency and GL Account
- •Each client now has a default currency and a default GL account. Set them once in the Clients tab via the new defaults editor (sliders icon next to each client row).
- •Default currency kicks in only when the 13-layer resolver returns "unknown" — an explicit USD on a US-vendor invoice for the same client still wins. Useful for clients in jurisdictions where invoices arrive bare ("$1,234.56" with no currency markings) and you know they should always be NAD or ZAR or whatever.
- •Default GL account sits BELOW vendor rules — a learned vendor rule still wins first. The default applies when no vendor rule matches yet, so the very first invoice for a new vendor at this client is auto-coded too. Picks the right account for whichever ERP you have connected (QB / Zoho / Xero); switching providers without updating the default flags it as stale.
- •Per-client defaults show as small pills on the client row: blue for currency, green for GL.
Improved
Synced-to-ERP Badges Everywhere
- •"Synced — QB / Zoho / Xero" badges now appear on every surface where you might re-push an invoice — not just the dashboard row. The invoice drawer, the Review page, and the per-invoice rows in the Push results all show prior sync state at a glance.
- •When pushing to QuickBooks, you now see if the invoice was already synced to Zoho or Xero (or vice versa). Helps catch cross-ERP duplicates before they happen, especially for firms running parallel books during a migration.
- •Hover any badge for the exact sync timestamp.
Improved
Multi-Currency Detection (NAD/ZMW/CDF/ZAR) & Synced-to-ERP Badges
- •Currency detection now disambiguates Namibian Dollar (NAD), Zambian Kwacha (ZMW), Congolese Franc (CDF), and South African Rand (ZAR) from US Dollar. Invoices marked "N$", "ZK", "FC", or just "R" now resolve to their correct currency instead of defaulting to USD.
- •Context — vendor country, phone country code (+264 / +260 / +243 / +27), email TLD (.na / .zm / .cd / .za), and address keywords (Walvis Bay, Lusaka, Kinshasa, Johannesburg, etc.) — disambiguates the currency when no symbol was extracted, or when the extracted symbol is specific like "N$". A bare "$" short-circuits to USD before any of that context is read; the extraction needs to surface "N$" specifically (it usually does on Namibian docs) for context to take over.
- •New "Synced — QB / Zoho / Xero" badges on every invoice row in the dashboard. Once an invoice has been pushed to an accounting system, the badge stays put — no more guessing whether you already pushed it and risking a duplicate vendor bill.
- •Synced-state is timestamped at push time and surfaces immediately on refresh. Hover the badge to see the exact sync timestamp.
Fixed
Portal Uploads, Zoho VAT Parity & Audit Trail Fixes
- •Inbox-to-firm portal uploads now persist correctly. A foreign-key ordering bug in the worker meant invoices forwarded to your firm inbox would extract successfully but never appear in the dashboard or push to QuickBooks/Zoho. The parent batch row is now created before per-invoice INSERTs, so every emailed invoice lands where it should.
- •Zoho Books bills now match QuickBooks bills to the cent. The Zoho push was reading the net (excl-VAT) line price where QuickBooks read the gross (incl-VAT) total, which silently dropped the tax component on multi-currency VAT invoices. Both adapters now use the same field-resolution order, so an NAD or ZAR invoice pushed to Zoho hits the same total as the same invoice pushed to QuickBooks.
- •Inbound emails from forwarders or role mailboxes (e.g. accounts@yourcompany.com) no longer fail silently. If the sender is not a registered IPP user, the upload is now attributed to the firm owner with the original sender preserved in the audit trail — no more lost invoices when a junior staffer forwards from an unregistered address.
- •Workers now mark a batch failed instead of "completed with 0 successful" when persistence drops everything. If the database is having an off day, you see the error in the Batches tab immediately instead of staring at an empty review queue.
- •Cleanup-job log volume reduced ~99% so engineers can actually see real activity in deploy logs. No behavioural change to retention — just one summary line per category instead of one per orphaned file.
New
Zoho Books Integration — Full OAuth Push
- •Zoho Books is now available as a direct integration alongside QuickBooks Online and Xero — completing the three-way accounting integration suite.
- •Connect your Zoho Books organization via OAuth from the Integrations tab. Tokens are Fernet-encrypted at rest; your Zoho credentials never touch our servers.
- •Approved invoices push as vendor bills with vendor details, line items, tax components, and due dates mapped to your Zoho Books chart of accounts.
- •Firm and Firm Pro plans support multi-organization setups — each client workspace can connect to a separate Zoho Books organization.
- •CGST/SGST/IGST extracted and mapped to the corresponding Zoho Books tax rate — full Indian GST support out of the box.
New
Developer API — Webhooks, Batch Endpoint & Automation Flag
- •Webhooks: register an HTTPS endpoint and receive a signed push notification the moment a job completes or fails — no polling required. Payloads are signed with HMAC-SHA256 so you can verify authenticity.
- •Batch API: submit up to 25 invoices in a single POST /api/v1/batches request. Returns per-file results and combined Excel/CSV downloads when complete.
- •New automation_ready field on every extraction result — true when confidence is HIGH and math validation passes. Use it as a direct gate before posting to your ERP without human review.
- •include_bounding_boxes param: opt in to receive Azure Document Intelligence polygon coordinates per field alongside the JSON result.
- •external_id idempotency key: supply your own ID on upload and safely retry on network errors without double-charging credits.
New
Anomaly Detection — Vendor Amount Spikes
- •InvoiceParser Pro now flags invoices where the total amount is significantly above that vendor's historical average.
- •Anomaly warnings surface in the review queue so your team can verify before approving unusually large invoices.
- •Available on Firm and Firm Pro plans. Threshold is calculated per-vendor across your invoice history.
- •Works in conjunction with duplicate detection — both checks run automatically on every invoice at extraction time.
Improved
Vendor Learning — GL Account Auto-Mapping
- •The vendor learning system now applies GL account auto-mapping across future invoices from the same vendor.
- •When you approve a line item and correct its account code, InvoiceParser Pro remembers that mapping. The next invoice from the same vendor pre-fills the corrected account code automatically.
- •Firm-wide learning: corrections made by any team member on any client workspace contribute to the firm's shared vendor knowledge base.
- •Account mappings are visible and editable in the Vendor Settings panel. You can override or reset any mapping at any time.
Improved
Security Hardening — API Key Hashing & Token Rotation
- •API keys are hashed with SHA-256 before storage. The plaintext key is shown once at creation time and cannot be retrieved — only rotated.
- •OAuth tokens for QuickBooks, Xero, and Zoho Books connections now rotate automatically on each use, reducing exposure from any single token compromise.
- •Added a security event log to the Account Settings page — view API key creation, revocation, and integration connection events with timestamps.
New
API v1 Developer Access — General Availability
- •The InvoiceParser Pro REST API is now generally available on Firm and Firm Pro plans.
- •Create and manage API keys from the API Access page. Keys are scoped to your account and can be revoked instantly.
- •Full endpoint coverage: upload invoices, poll job status, list jobs, download Excel/CSV, and read account info — all via Bearer token auth.
- •Rate limits: 60 requests/minute for uploads, 120/minute for reads. Confidence, validation status, and all extracted fields returned in the JSON result.
- •Full API reference available at invoiceparserpro.com/docs/api.
Improved
GPT-4o Extraction Upgrade
- •The enrichment stage of the extraction pipeline has been upgraded to GPT-4o, replacing the previous model.
- •Measurable improvement on complex layouts: multi-column invoices, non-standard templates, and invoices with dense line item tables.
- •Higher average confidence scores across the corpus — fewer invoices landing in the manual review queue.
- •Better handling of foreign-language invoices: vendor country is now inferred from address, phone country code, and email domain TLD.
New
Enterprise Proof-of-Concept Programme
- •Teams evaluating InvoiceParser Pro at volume can now apply for a time-boxed free trial with a dedicated invoice cap.
- •POC accounts get full API access, batch processing, and priority support during the evaluation window.
- •No credit card required for the POC period. Contact us to apply.
New
Xero Integration
- •Connect Xero and push approved invoices as vendor bills with one click
- •Automatic vendor matching — contacts are created in Xero if they don't exist
- •Select your preferred expense account for bill line items
- •Full support for both personal accounts and multi-user firm workspaces
New
Dashboard Analytics & Activity Feed
- •New Analytics tab with processing volume trends, approval rates, top vendors, and confidence breakdown
- •Activity feed showing a full history of approvals, exports, and uploads
- •Saved views — save your favorite filter combinations and switch between them instantly
New
Duplicate Detection
- •Invoices are now automatically checked for duplicates based on vendor and invoice number
- •Duplicate warnings appear during review so you never process the same invoice twice
New
Keyboard Shortcuts
- •Navigate the document table with J/K or arrow keys, press Enter to open review
- •Press / to jump to search, X to select rows, and [ ] to switch pages
New
QuickBooks & Zoho Books Integrations
- •Push approved invoices directly to QuickBooks Online as vendor bills
- •Export invoices to Zoho Books with your preferred expense account
- •Built-in safeguards prevent accidental duplicate pushes
- •Xero support added March 14 — see above
New
Invoice Review Workflow
- •Review extracted data side-by-side with the original document
- •Approve, flag, reject, or correct individual fields and line items
- •Review queue with filtering so you can work through invoices quickly
New
Firms Platform for Accounting Firms
- •Dedicated workspaces for firms with client management and role-based access
- •Recurring invoice tracking and anomaly detection across clients
- •Invite team members and track activity across the firm
New
Multi-Tax Support & Extended Extraction Fields
- •Multi-tax breakdown: invoices with multiple tax components (e.g. CGST + SGST + IGST) now return a full taxes[] breakdown alongside the single tax total.
- •Purchase order number extracted and returned when present on the invoice header — useful for matching invoices to POs in your ERP.
- •Vendor address and ISO country code now extracted — enables geo-routing and country-specific tax rule application downstream.
- •Bill-to customer name extracted for multi-entity workflows routing invoices by recipient.
- •Service start and end dates extracted from SaaS, utility, and subscription invoices — enables accurate accrual accounting and prepaid expense recognition.
- •Payment routing details extracted: IBAN, SWIFT/BIC, bank account number, and BPay reference where present on the invoice.
- •Payment terms text (e.g. "Net 30", "Due on receipt") now returned alongside the due date.
New
Batch Processing & Export
- •Upload and process up to 50 invoices at once
- •Export to Excel, CSV, and accounting-ready formats for QuickBooks, Zoho, and Xero
- •Custom export templates — choose exactly which fields to include
- •Configurable data retention to control how long original files are stored
Improved
Azure Document Intelligence Extraction Engine
- •Extraction engine upgraded to Azure Document Intelligence prebuilt-invoice model as the primary extraction layer.
- •Significantly improved accuracy on complex multi-column layouts, handwritten annotations, and scanned documents.
- •Bounding box overlay in document review: extracted fields are now highlighted directly on the source document at pixel-accurate positions.
- •Per-field confidence scores — the review UI surfaces low-confidence highlights at field granularity so you know exactly what to check.
- •Validation engine introduced: math cross-check between subtotal, tax, and total. Invoices that pass validation are marked as automation-ready.
New
InvoiceParser Pro Launch
- •AI-powered invoice data extraction with full line-item detail
- •Confidence scoring on every extraction so you know what needs a second look
- •Support for PDF, JPEG, PNG, TIFF, HEIC, and WebP uploads
- •Passwordless sign-in — just enter your email and click the link