Skip to main content
Credit Control, Dunning & Collections — A build-to-order ERPNext app that automates accounts-receivable collections with cred — 1/1Illustrative preview

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.

What is Credit Control, Dunning & Collections?

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 $999.00 USD; request a quote for a scoped proposal.

Key Features

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
`Promise to Pay` DocType linked to Customer and outstanding invoices, with expected date, amount and auto-fulfilment when a matching Payment Entry is submitted
`doc_events` on Payment Entry and Sales Invoice that close collection tasks, clear holds and update promise status the moment cash is applied
Client Scripts on the Customer and sales transactions surfacing current exposure, oldest overdue invoice and promise status inline on the form
Whitelisted methods and Frappe REST API endpoints for every action so external dashboards, portals or notification services can drive collections programmatically
Role Profiles and granular permission rules separating credit controller, sales rep and finance manager access and override rights
Configurable escalation cadence and per-customer or per-customer-group dunning policies rather than one global template
Aging computed against your fiscal and due-date logic, with multi-currency outstanding balances respected
Compatible with Frappe/ERPNext v15 and v16, packaged as a standalone installable app that does not fork ERPNext core

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

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.

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 one working week 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.

What you get

  • Installable source code for the app built to your confirmed scope, packaged as a standard Frappe app (`bench get-app` / `bench install-app`)
  • Installation and configuration on your target ERPNext site, including DocTypes, custom fields, email templates, roles and scheduler wiring
  • Technical documentation covering the DocType model, hooks, whitelisted methods, REST endpoints and configuration points
  • User guide plus a live training session for your credit controllers and finance team
  • UAT on a staging bench against your real aging data, with a documented rollback plan before production go-live
  • Post-go-live support window for bug fixes and questions after launch
  • Handover of the private git repository so your team owns the source going forward
  • Version-targeted build for Frappe/ERPNext v15 or v16 with upgrade notes

Who this is for

Credit controller chasing overdue receivables

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.

Finance manager / CFO

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.

Sales operations lead

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.

ERPNext administrator / IT owner

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.

How Credit Control, Dunning & Collections Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Multi-level dunningConfigurable escalating levels with per-level triggers and templatesPossible but you specify and maintain every rule yourselfOften a fixed number of levels with limited configurationSingle basic Dunning document, no automatic escalation cadence
Automated reminder cadenceDaily scheduler event ages invoices and fires reminders automaticallyMust build and test scheduler jobs from scratchSometimes scheduled, varies by app qualityPayment reminders are largely manual to trigger
Credit-limit holdsAuto-apply and release with role-gated override and audit trailBuildable but audit and override logic is your burdenRarely includes structured holds or overridesCredit-limit field with basic block, no dunning-driven hold workflow
Collections worklistRanked list view with aging buckets and saved controller filtersYou design the report and filters yourselfMay offer a list but seldom risk-rankedAR aging report only, not an actionable worklist
Promise-to-pay trackingDedicated DocType with auto-fulfilment on paymentFull DocType design and payment linkage on youUncommon in off-the-shelf appsNot available
Fit to your processBuilt to your confirmed cadence, policy and templatesFully bespoke but longer and costlier to specifyYou adapt your process to the app's assumptionsConstrained to core defaults
Version support & upgradesTargeted to v15/v16, documented hooks, no core forkDepends on your team's disciplineVersion support varies, may lag releasesMoves with core but limited feature set
Delivery & supportone working week build, UAT, training, git handover, support windowTimeline and support depend entirely on your capacityDownload now, support tickets, limited customisationImmediate but you own all the gaps

Frequently Asked Questions about Credit Control, Dunning & Collections

Is this an instant download from the Frappe marketplace?

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.

How long does delivery take?

Typical delivery is one working week 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.

Which ERPNext versions do you support?

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.

How does it enforce credit limits without blocking legitimate sales?

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.

Will it interfere with ERPNext core or make upgrades harder?

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.

What about support and updates after go-live?

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.

Can the collections data feed our dashboards or other systems?

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.

Request a quote

Credit Control, Dunning & Collections

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.

  • 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

Request a Quotation

Tell us about your Credit Control, Dunning & Collections requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.