Faster payment reconciliation for ERPNext
Issues
·
Repository
·
Negentropy Solutions
Matcha is an open-source app for reconciling Payment Entries against open invoices in ERPNext.
It is built on Frappe Framework with a React UI and is available at the /matcha route on your site.
- Select company and date range to load only relevant records.
- Use search, received/paid filters, and multi-select for faster processing.
- Work in a two-panel layout: payments on the left, matching invoices on the right.
- Track
Unmatched payments,Open invoices,Overdue invoices, andUnmatched value. - Prioritize urgent items quickly before starting reconciliation.
- Values are shown in company context for better decision-making.
- Allocate one payment to one or many invoices.
- Select multiple payments and split allocations as needed.
- Adjust per-invoice allocation values before posting.
- Preview estimated FX impact before final reconciliation.
- See gain/loss in company base currency.
- Confirm with full visibility when reconciling multi-currency transactions.
- Reconcile payments and invoices across different companies.
- Matcha prepares and posts intercompany Journal Entries using bridge accounts.
- Keep linked records traceable from history after posting.
- View unmatched payments and ageing invoices in one place.
- Use independent search and pagination for each list.
- Jump directly into reconciliation from an exception item.
- Every action is recorded in
Matcha Payment Reconciliation Log. - Filter history by date and party to audit changes quickly.
- Undo reconciliations when corrections are required.
- Configure
Intercompany Transfer AccountsinMatcha Settings. - Add one bridge account per company in
Matcha Intercompany Account. - Required for cross-company reconciliation flows.
Supported versions
- Frappe:
>=15.0.0and<16.0.0(v15 benches) - ERPNext:
>=15.0.0and<16.0.0 - Python:
>=3.10
These match [tool.bench.frappe-dependencies] in pyproject.toml. Use a v15 bench; do not install on v14 or v16 unless you publish a release that explicitly supports those ranges.
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app https://github.com/Negentropy-Solutions/matcha.git
bench install-app matchaThis app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/matcha
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
AGPLv3
