A build-to-order ERPNext app that automates accounts-receivable collections with credit-limit holds, multi-level dunning, reminder workflows, aging worklists and promise-to-pay tracking. ECOSIRE scopes, builds, installs and supports it — it is not an instant marketplace download. 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 ERPNext app that automates accounts-receivable collections with credit-limit holds, multi-level dunning, reminder workflows, aging worklists and promise-to-pay tracking. ECOSIRE scopes, builds, installs and supports it — it is not an instant marketplace download.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Chasing overdue receivables in ERPNext today means living in the Accounts Receivable report, manually cross-checking the Payment Reminder feature, and emailing customers one at a time. ERPNext core does give you a credit-limit field on the Customer, an aging report, and a basic dunning document, but it stops well short of a real collections desk: there is no escalating multi-level cadence that fires on its own, no single worklist that ranks accounts by risk and days-overdue, no structured promise-to-pay record, and no way to place or release a hard credit hold with an audit trail. Credit controllers end up rebuilding that discipline in spreadsheets, which is exactly where receivables slip.
Multi-level dunning driven by a configurable `Dunning Level` DocType — each level sets its days-overdue trigger, escalation order, message tone and email template
Daily scheduler event (`hooks.py` scheduler_events) that ages open Sales Invoices and auto-generates or advances dunning notices without manual runs
Automated overdue-reminder emails rendered through Frappe Email Templates and dispatched via the standard email queue, honouring the site's outgoing account and unsubscribe handling
Server-side credit-limit validation hook on `Sales Order` and `Sales Invoice` that checks live outstanding balance plus order value and blocks or flags submission
Credit holds that can be auto-applied by a dunning level and released on payment, with an override gated behind a dedicated Role and full change-log audit
Collections worklist as a Frappe report/list view with aging-bucket columns (0-30 / 31-60 / 61-90 / 90+) and saved filters by controller, region or risk
ECOSIRE builds a proper Frappe app that installs into your ERPNext site as its own module. We add DocTypes for your collections workflow — a Dunning Level configuration (escalation step, days-overdue trigger, tone, email template, whether it applies a hold), a Promise to Pay record linked to the customer and outstanding invoices, and a Collection Task worklist item — alongside custom fields on Customer and Sales Invoice so nothing forks your core data model. Scheduler events (hooks.py scheduler_events, typically a daily background job) walk the open Sales Invoices, compute aging buckets against each level's threshold, and generate or advance dunning notices; hooks.py doc_events on Payment Entry and Sales Invoice submission automatically close tasks, clear holds, and fulfil promise-to-pay commitments when cash arrives. Reminder emails render through Frappe Email Templates and the standard email queue, so they respect your outgoing account, sender identity and unsubscribe rules.
Credit enforcement is wired in where it actually bites: a server-side validation hook on Sales Order and Sales Invoice checks live outstanding balance plus the order value against the customer's limit and blocks or flags submission, with an override permission gated by a dedicated role. Client Scripts surface the customer's current exposure, oldest overdue invoice and promise status right on the transaction form so a sales user sees the risk before saving. The collections worklist is delivered as a Frappe report/list view with saved filters and aging-bucket columns (0-30 / 31-60 / 61-90 / 90+), and every action is exposed through whitelisted methods and the standard Frappe REST API so it integrates cleanly with dashboards, a portal, or an external notification service. Role Profiles and permission rules keep the credit controller, the sales rep and the finance manager each seeing and doing only what they should.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, map your dunning cadence, credit policy, hold rules and email templates to the DocTypes above, and confirm the target version — we support Frappe/ERPNext v15 and v16. We build on a staging bench, run UAT against your real aging data, and hand over installable source, a git repository, documentation and a training session. Typical delivery is 2 to 4 weeks from confirmed scope, and every build includes a post-go-live support window plus a rollback plan so the go-live is never a leap of faith.
Needs a single ranked worklist, automated escalating reminders and promise-to-pay tracking so no overdue account slips, instead of rebuilding the AR report in spreadsheets every morning.
Wants DSO to fall and cash to come in predictably, with credit holds enforced by policy and an audit trail on every override rather than trusting manual discipline.
Needs credit exposure and overdue status visible on the Sales Order form so reps stop shipping to customers who are already past their limit, without blocking healthy deals.
Wants collections logic delivered as a clean standalone Frappe app with documented hooks and REST endpoints, version-matched to v15/v16, that installs without forking ERPNext core.
Buy the license on ecosire.com and download the Credit Control, Dunning & Collections 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 Credit Control, Dunning & Collections 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 |
|---|---|---|---|---|
| Multi-level dunning | Configurable escalating levels with per-level triggers and templates | Possible but you specify and maintain every rule yourself | Often a fixed number of levels with limited configuration | |
| Automated reminder cadence | Daily scheduler event ages invoices and fires reminders automatically | Must build and test scheduler jobs from scratch | Sometimes scheduled, varies by app quality | |
| Credit-limit holds | Auto-apply and release with role-gated override and audit trail | Buildable but audit and override logic is your burden | Rarely includes structured holds or overrides | |
| Collections worklist | Ranked list view with aging buckets and saved controller filters | You design the report and filters yourself | May offer a list but seldom risk-ranked | |
| Promise-to-pay tracking | Dedicated DocType with auto-fulfilment on payment | Full DocType design and payment linkage on you | Uncommon in off-the-shelf apps | |
| Fit to your process | Built to your confirmed cadence, policy and templates | Fully bespoke but longer and costlier to specify | You adapt your process to the app's assumptions | |
| Version support & upgrades | Targeted to v15/v16, documented hooks, no core fork | Depends on your team's discipline | Version support varies, may lag releases | |
| Delivery & support | 2-4 weeks build, UAT, training, git handover, support window | Timeline and support depend entirely on your capacity | Download now, support tickets, limited customisation |
No. This is a build-to-order engagement. ECOSIRE designs, builds, installs and supports the app around your specific dunning cadence, credit policy and email templates. You receive installable source and a git repository, but there is no instant self-service download — we build it for you first.
Typical delivery is 2 to 4 weeks from confirmed scope. After a short scoping call we agree the DocTypes, escalation rules and templates, build on a staging bench, run UAT against your data, and then install to production. Complex multi-entity or heavily customised sites can extend that timeline, which we flag during scoping.
We support Frappe/ERPNext v15 and v16. We confirm your exact version and site setup during scoping and build the app to match, including any upgrade notes if you plan to move between versions.
A server-side validation hook on Sales Order and Sales Invoice checks live outstanding balance plus order value against the customer's limit. It can hard-block or soft-flag depending on the policy you choose, and an override permission gated behind a dedicated role lets an authorised manager release a specific transaction, with the action recorded in the audit trail.
No. The app is packaged as a standalone Frappe app that adds its own DocTypes, custom fields and hooks without forking core files. That keeps your ERPNext upgradeable. We test against your target version and document every hook and whitelisted method so your team can maintain it.
Every build includes a post-go-live support window for bug fixes and questions. Beyond that, because you own the git repository, ECOSIRE can provide ongoing support, enhancements or version-migration work under a separate arrangement. We scope maintenance expectations with you upfront.
Yes. Every action is exposed through whitelisted methods and the standard Frappe REST API, so aging worklists, promise-to-pay records and dunning status can be read or driven by external dashboards, a customer portal, or a notification service.
A build-to-order ERPNext app that automates accounts-receivable collections with credit-limit holds, multi-level dunning, reminder workflows, aging worklists and promise-to-pay tracking. ECOSIRE scopes, builds, installs and supports it — it is not an instant marketplace download.