A build-to-order Frappe app that turns month-end balance-sheet reconciliation into a controlled ERPNext workflow: reconcile any GL account, attach supporting schedules, and capture preparer/reviewer sign-off with full audit history. ECOSIRE builds, installs, and supports it for your chart of accounts. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that turns month-end balance-sheet reconciliation into a controlled ERPNext workflow: reconcile any GL account, attach supporting schedules, and capture preparer/reviewer sign-off with full audit history. ECOSIRE builds, installs, and supports it for your chart of accounts.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Every controller running a month-end close in ERPNext knows the gap: the General Ledger and Trial Balance reports tell you the balance of a GL account, but they never tell you whether that balance is proven. Cash, prepaid expenses, accrued liabilities, intercompany, fixed-asset clearing, tax payable, suspense and other balance-sheet accounts each need a schedule that ties the number to reality — bank statements, aging, amortization tables, third-party confirmations. ERPNext core has Bank Reconciliation and Payment Reconciliation, but there is no native DocType that lets you reconcile an arbitrary balance-sheet account, attach its supporting schedule, flag the variance, and route it through a preparer-then-reviewer sign-off. Teams end up doing this in spreadsheets outside the system, so the close has no single source of truth and no audit trail.
`Balance Sheet Reconciliation` DocType keyed to Company, Fiscal Year and period-end date, with naming series per company
Reconcile ANY balance-sheet GL account — not just bank or receivable/payable — via an account Link field validated against `root_type in (Asset, Liability, Equity)`
Live book balance pulled from `GL Entry` for the selected account and posting date on `validate` — never rekeyed from a report
Child table of supporting-schedule lines (description, amount, reference voucher, party) that must sum to the reconciled balance
Server-side variance computation (book vs reconciled) with a configurable tolerance; out-of-tolerance records blocked from approval or forced to carry an explanation
File-attach evidence fields (bank statements, amortization schedules, confirmations) with an option to make evidence mandatory before sign-off
This build-to-order app closes that gap as a proper Frappe application installed on your bench. We ship a custom app with a Balance Sheet Reconciliation DocType keyed to Company, Fiscal Year and period-end date, with a child table for line-item supporting schedules and a File-attach field for evidence. A server script (or app-level controller in hooks.py doc_events) pulls the GL closing balance for the selected account and posting date straight from GL Entry, so the "book balance" is always live and never rekeyed. The reconciled balance, variance, and a variance-tolerance check are computed on validate; anything outside tolerance is blocked from sign-off or flagged for explanation. Open-item aging is generated for sub-ledger-backed accounts (receivable/payable/advances) so reviewers see exactly which vouchers make up the balance.
The workflow itself is a real Frappe Workflow: Draft → Prepared → Under Review → Approved (with a Rework state), gated by role profiles such as Reconciliation Preparer and Reconciliation Reviewer so a preparer can never approve their own work. Transitions stamp the user and timestamp, and every field change is captured in the standard Frappe version/audit trail. A scheduler_events hook auto-creates the period's reconciliation records from a close checklist at period-end and can email owners the accounts still outstanding. Client scripts drive the form UX — live variance display, conditional evidence requirements, one-click "pull GL balance." Everything is exposed over the Frappe REST API and @frappe.whitelist() methods so your close dashboard, Power BI, or an external audit tool can read reconciliation status programmatically. The app targets Frappe/ERPNext v15 and v16.
Because this is build-to-order, nothing is downloaded and dropped in blind. We start from a short scoping call, confirm which balance-sheet accounts and tolerance rules matter for your entity, then build against your actual chart of accounts and role structure. Typical delivery is 2-4 weeks from confirmed scope. You get the installable source, UAT on a staging bench with a rollback plan, install and configuration on your environment, documentation, a training session, and a post-go-live support window — plus the git repository handover so the code is yours.
Owns the close calendar and needs every balance-sheet account proven, signed off and evidenced inside ERPNext instead of a folder of spreadsheets — with a one-screen view of what is still open.
Runs multiple companies on one ERPNext instance and needs consistent, auditable reconciliations across entities, enforced tolerances, and API access to feed a consolidated close dashboard.
Prepares and reviews reconciliations day to day; needs segregation of duties, live GL balances, and a clear rework loop so nothing is approved without supporting schedules attached.
Needs a defensible trail: who reconciled each account, when it was reviewed, what evidence backed it, and the variance history — retrievable via the Frappe audit log and REST API.
Buy the license on ecosire.com and download the Balance Sheet Account Reconciliation app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Balance Sheet Account Reconciliation and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Scope of accounts reconciled | Any balance-sheet GL account with its own schedule | Whatever you specify and can build | Usually bank/payment focused only | |
| Preparer/reviewer sign-off | Real Frappe Workflow with role segregation | Possible but you design and test it | Rarely a true dual sign-off | |
| Supporting evidence & schedules | Attach files + line-item schedule that must tie out | Depends on build effort | Limited or attachment-only | |
| Variance & tolerance control | Server-side variance vs live GL, tolerance gating | Build and maintain yourself | Basic or manual | |
| Fit to your chart of accounts | Built to your accounts, roles and entities | Fully bespoke, higher cost/time | Generic, configure to fit | |
| Delivery model | Build-to-order, 2-4 weeks, source handover | Longer, in-house dependency | Instant download, no tailoring | |
| Support & ownership | Support window + git repo is yours | You own and maintain everything | Vendor subscription, closed source | |
| API / dashboard access | Whitelisted REST methods for status & variance | If you build the endpoints | Varies, often none |
This is a build-to-order app, not an instant download. After a short scoping call to confirm your accounts, tolerance rules and roles, typical delivery is 2-4 weeks from confirmed scope. Complex multi-company or heavy integration requirements can extend that, and we agree the timeline in writing before we start.
No. ECOSIRE designs, builds, installs and supports it specifically for your chart of accounts and close process. You receive the installable source and the git repository at handover, so the code is genuinely yours rather than a black-box subscription.
Every engagement includes a post-go-live support window for defect fixes and configuration questions. Because you own the source, ECOSIRE can also provide compatibility updates for future Frappe/ERPNext releases and build enhancements under a separate support or retainer arrangement.
We build and test against Frappe/ERPNext v15 and v16. We confirm your exact running version during scoping and validate the app on a matching staging bench before touching production.
It reads GL balances from `GL Entry` and adds its own DocTypes and workflow — it does not alter your journal entries or ledgers. We deliver on a staging bench first, run UAT against agreed criteria, and ship with a documented rollback plan before production install.
Yes. ERPNext core covers bank and payment reconciliation, but this app reconciles any balance-sheet account — prepaids, accruals, intercompany, fixed-asset clearing, tax payable, suspense — with its own supporting schedule, variance check and sign-off.
Yes. Status, variances and sign-off data are exposed through the standard Frappe REST API and whitelisted (`@frappe.whitelist()`) methods, so a close dashboard, Power BI report, or an auditor's tooling can query it programmatically.
A build-to-order Frappe app that turns month-end balance-sheet reconciliation into a controlled ERPNext workflow: reconcile any GL account, attach supporting schedules, and capture preparer/reviewer sign-off with full audit history. ECOSIRE builds, installs, and supports it for your chart of accounts.