UK Bacs ADDACS / AUDDIS / ARUDD Parser
Import Bacs Direct Debit advice reports and let amendments, cancellations and unpaid returns flow straight onto your local mandates — a pure file-in parser, no Bacs connection required.
What it does
Keep your own register of UK Direct Debit Instructions (DDIs) in Odoo, then upload the Bacs ADDACS (amendments and cancellations), AUDDIS (rejected new instructions) and ARUDD (returned unpaid Direct Debits) advice reports you download from your own Bacs / Bacstel-IP channel. The module parses the report, splits it into per-advice lines, matches each one to a local mandate, and on apply writes the bank's notice onto the mandate so its state follows the amendment, cancellation or unpaid return. It never transmits anything to Bacs.
Report parsing & matching
action_parse decodes the uploaded file across common
encodings, detects the report type and format, and reads the
Service User Number, service-user name and report date. Each
advice line is matched to a bacs.mandate on its payer
reference and, as a fallback, on sort code + account
number. Stored counters expose advices, cancellations,
amendments, matched / unmatched and shape errors for filtering.
Applying advices to mandates
apply_advice updates each matched mandate: an ADDACS
amendment rewrites the sort code, account number
or payer name and sets the mandate to amended; an ADDACS
cancellation closes it; an
AUDDIS rejection marks the new-instruction
lodgement as rejected; and an ARUDD return
records the unpaid collection and cancels the mandate where the
reason code implies the mandate is dead.
Feature highlights
- Local mandate register —
bacs.mandateholds the payer, sort code, account number, DDI reference and SUN, with a lifecycle (draft / active / amended / cancelled / rejected) advanced automatically as advices arrive. - Reason-code descriptions — each advice carries its Bacs reason code and a human-readable label, stored as the mandate's last reason for quick triage.
- Unpaid return tracking — ARUDD returns are counted per mandate and the report totals the returned amount in GBP.
- Per-advice lines — a
bacs.advice.lineper record captures the reference, old and new bank details, amount, dates, transaction code and amendment / dead-mandate flags. - Unmatched surfacing — a stored "has unmatched" flag and a parse/apply log list advices that matched no local mandate so you can act on them.
- Pure BYOK file workflow — community Accounting only; no Enterprise SEPA / Direct Debit module required and no outbound Bacs connection.
How it works
- Record your Direct Debit mandates (payer reference, sort code, account number, SUN) in the Bacs mandates list.
- Download the ADDACS / AUDDIS / ARUDD report from your Bacs / Bacstel-IP channel and upload it, then click Parse.
- Review the matched and unmatched advices and click Apply to write the bank's notices onto your mandates.
Scope & disclosure
This is a file parser and reconciler only: it does not submit Direct Debit collections, does not connect to Bacs or Bacstel-IP, and includes no banking credentials. You obtain the advice reports through your own Bacs service-user channel. More at pokutsoft.com/.
Screenshots
All Advices
Import Report
Mandates
Advice Reports
Update date: 2026-07-02