Internal Transfers You Can Verify
Move money between your own bank, cash, and account balances from one form. Every transfer posts two matched entries, reconciles them to zero, and shows you exactly where the money is parked — all natively in Odoo Accounting.
The problem
Moving money between your own bank, cash, and suspense accounts means creating two separate payments by hand, remembering the right transfer account, and reconciling both sides yourself. Miss a step and the balance goes unnoticed until period close — and recent Odoo versions removed the familiar internal-transfer checkbox that used to make this simple.
The solution
One unified form handles account→account, account→journal, and journal→account transfers. Posting creates both matched journal entries, reconciles the internal transfer account automatically, and shows a live "Cleared to Zero" status so nothing stays stranded unnoticed.
Everything a clean internal transfer needs
Every capability below is implemented in the module.
One Unified Transfer Form
Route account→account, account→journal, or journal→account transfers from a single form — no switching modules or workflows.
Conditional Destination Picker
Choose "Journal" or "Account" and the form shows only the matching field, so you never guess which picker applies.
Automatic Paired Journal Entries
Posting creates both the send and receive journal entries in one action — no manual double-entry required.
Visible, Overridable Transfer Account
The intermediary account both postings clear against is shown right on the form, with a company default you can override per transfer.
Automatic Reconciliation to Zero
Both transfer-account lines are reconciled the moment you post, and a "Cleared to Zero" indicator proves the residual is nil.
One-Click Cancel & Reverse
Made a mistake? Cancelling a posted transfer automatically reverses both journal entries — no manual correcting entries.
Draft / Posted / Cancelled Workflow
A clear status bar with full chatter tracking on every field change gives you an audit trail for every transfer, start to finish.
Sequenced, Searchable Register
Every transfer gets its own sequenced reference and lives in a dedicated list you can search and filter by state, journal, or account.
Bank, Cash & Multi-Currency
Works across bank and cash journals, and handles transfers in a currency other than your company currency.
How it works
Set the Transfer Account
Accept the company default suspense account, or pick a different one.
Choose Source & Destination
Pick the source journal, then route to another journal or a chosen account.
Post the Transfer
One click creates both matched entries and reconciles the transfer account.
Verify or Reverse
Confirm "Cleared to Zero", drill into the two journal entries, or cancel to reverse.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Every transfer shows a "Transfer Account Residual" and a "Cleared to Zero" indicator, computed from the actual reconciliation state of the two journal entry lines — not just a claim.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Payment Transfer — Verifiable Internal Transfers
Verifiable, reconciled internal transfers between your bank, cash, and account balances, built natively on Odoo.
Buy on Odoo App Store