Built around the way letting agencies actually collect rent
Calmony DD isn't a generic payments tool adapted for property. It was designed for one job: orchestrating UK Bacs Direct Debit collections on behalf of independent letting agencies — from mandate registration through to funds in your client account.
You manage 50–500 properties and need rent to land in your client account reliably, with a paper trail that satisfies your PI cover and the FCA.
You process mandates, chase returns, and field payer calls. You need a clear exceptions queue — not a spreadsheet and three browser tabs.
You need evidence: every mandate signed, every Bacs message logged, every clawback recorded, and a register of processing activities you can hand to your DPO.
MANDATE OPS / AUDDIS → ACTIVE
When a letting coordinator creates a payer and triggers a mandate, Calmony DD submits the AUDDIS instruction to Modulr, monitors the three-working-day response window, and transitions the mandate to Active — or surfaces the rejection reason — automatically. No manual Bacs bureau login. No chasing confirmation emails.
UK bank-detail validation Sort code format, modulus check, and full address verified before the mandate leaves your system.
Advance notice email to payer The legally required DD confirmation is sent automatically via email — amount, first collection date, payer rights under the Guarantee.
Mandate reference tracked end-to-end From AUDDIS submission through to every collection, every Bacs message, every amendment is linked to one mandate record.


COLLECTIONS / BACS DAY +0 → +3
Each morning a scheduled workflow picks up every collection due that day, checks the Bacs working-day calendar for submission cutoffs, calls Modulr to submit the direct debit, and transitions the collection through submitted → in clearing → settled. A settlement failure surfaces in the Exceptions queue before your office opens.
Collection calendar view Month and week views show submission cutoffs, settlement dates, and forwarding dates per property portfolio.
BACS calendar awareness UK bank holidays and Bacs non-processing days are pre-loaded for 24 months — no collection is submitted on a day it can't process.
Bulk CSV import Migrating from a previous provider? Upload a CSV of scheduled collections; validation runs row-by-row with a downloadable error report.
Payer bank details are validated and encrypted. The AUDDIS instruction goes to Modulr. The mandate moves to Active within three Bacs working days.
The collection scheduler picks up every due collection at the submission cutoff. Modulr receives the instruction; settlement confirmation arrives on Day +3.
Settled funds sit in a Griffin holding account for five Bacs working days. Any ARUDD return or indemnity claim in that window triggers an automatic clawback before forwarding.
On your configured cadence (daily or weekly), the forwarding workflow computes releasable funds — collected minus reserve minus any pending indemnity holds — and transfers them to your Griffin client account.
EXCEPTIONS / ARUDD + INDEMNITY
ARUDD returns arrive from Modulr as webhooks. Calmony DD decodes the reason code (Refer to Payer, Instruction Cancelled, Account Transferred — all 20+ Bacs codes), recalls any funds already moved to holding, notifies the agent, and — if the code is retry-eligible and your retry policy allows it — schedules a single re-submission for the next Bacs processing date automatically.
Exceptions kanban New / Investigating / Awaiting Provider / Resolved — drag cards, assign operators, escalate severity.
Indemnity claim workflow When a claim comes in, funds are debited from the holding account and returned to the payer bank via Griffin. Your statement shows the negative entry.
Stuck-workflow detector A daily cron finds mandates or collections that have been in an intermediate state too long and surfaces them in the queue before they become a problem.


COMPLIANCE / FCA SYSC 9.1 + GDPR
Every Modulr API call and every inbound Bacs message is stored in full — request, response, duration, status. Every money movement writes a double-entry ledger row. The daily reconciliation cron matches Modulr's settlement file against Griffin's holding-account transactions and flags any mismatch before the office opens.
Double-entry ledger Every pence that moves — collection, clawback, reserve, indemnity — is recorded as a debit/credit pair. Reports query the ledger, never ad-hoc aggregations.
Per-agent monthly statements Opening balance, every collection, every clawback, every forwarding, reserve movement, closing balance — downloadable as PDF or Excel.
Strict data isolation Row-level security on every domain table: an API key for one agency cannot read or act on another agency's data, tested in an isolation suite.
MIGRATION / SUN 0N TRANSFER
If your existing mandates sit under a different Service User Number, Calmony DD submits Bacs 0N migration messages via Modulr to transfer them without requiring payers to sign new mandates. The workflow tracks each batch, reconciles ADDACS responses, and reports the success rate. Existing mandate history migrates with the record.
Upload a CSV of existing payers and mandates. Row-by-row validation runs server-side with a downloadable error report for anything that doesn't pass.
BACS messages are submitted in batches. ADDACS responses indicating accepted or rejected transfers are reconciled automatically and surfaced in the migration dashboard.
A dedicated migration view tracks each batch: mandates submitted, accepted, rejected, and pending — with deep links to each mandate record.
REPORTING / WEEKLY + MONTHLY
Every Monday at 08:00 UK time, each agency owner receives a weekly digest: total collected (amount and count), total forwarded, open exceptions by severity, mandates activated or cancelled, and any BACS returns with their retry status. Monthly statements in PDF and Excel are generated from the double-entry ledger and available for download from the Reports page.
Weekly digest email Monday morning summary delivered to the agency owner — no login required to see the headline numbers.
Per-agent monthly statements PDF and Excel exports from the Reports page, sourced from the double-entry ledger — not aggregated ad hoc.
Forwarding statement per transfer Every forwarding generates a PDF showing the transfer amount, included collections, reserve top-up, and any clawbacks.

INTEGRATION / agentOS + REST API
agentOS — and any other consuming application — connects via a stable v1 API authenticated by org-scoped API keys. Every endpoint accepts an idempotency-key header. Webhooks fire on every lifecycle event: mandate.activated, collection.settled, collection.returned, forwarding.completed. API keys are scoped per agency — one key cannot touch another agency's data.
createPayer, createMandate, scheduleCollection, cancelMandate, listCollections, getForwardings — all versioned, all idempotent.
Every lifecycle transition fires a signed webhook to your registered endpoint. Register endpoints and secrets from the settings UI.
If you manage between 50 and 500 properties under fully-managed or tenant-find-plus-management instructions, we'd like to walk you through the mandate-to-client-account cycle in your context. Email us at sf-core-org-support-calmony-dd@saas-factory.ai or join the waitlist below.
Email us