A build-to-order Odoo module that prints vendor cheques onto your pre-printed bank stationery with pixel-calibrated per-bank layouts, multi-language amount-in-words, batch printing, MICR line support and controlled void/reprint. ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $149.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that prints vendor cheques onto your pre-printed bank stationery with pixel-calibrated per-bank layouts, multi-language amount-in-words, batch printing, MICR line support and controlled void/reprint. ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Accounts Payable teams that still issue physical cheques hit the same wall in Odoo. Native Odoo can register a payment against a vendor bill and mark the payment method as "Checks", but the actual print layout is a generic, one-size Community QWeb report — it does not know that your HBL cheque leaf puts the payee 62mm from the top, your Meezan leaf puts it 58mm, and your US bank cheque needs a MICR line at the bottom edge. Enterprise adds a US/CA-oriented check printing feature, but it is opinionated toward a handful of North American formats and does not solve multi-bank, multi-region stationery, right-to-left amount-in-words, or a clean audit trail for spoiled cheques. The result is finance staff hand-aligning cheques in a printer tray, wasting pre-printed stock, and keeping the real cheque register in a spreadsheet.
Per-bank `cheque.layout` model storing millimetre-precise field coordinates (payee, amounts, date, memo, signature) for each bank account
QWeb cheque reports with absolute CSS positioning that prints onto pre-printed stationery — screen calibration matches paper output
One-page calibration grid report to dial in top/left origin and per-field offsets for each new bank leaf
Amount-in-words as an `@api.depends` computed field with a pluggable converter (English, Arabic, Urdu, French) including minor units and currency name
Correct RTL rendering of amount-in-words for Arabic/Urdu leaves, with 'Only'/terminator handling
Per-bank-account `ir.sequence` allocating consecutive cheque numbers, no gaps, no silent reuse
We build a dedicated cheque printing module around your exact stationery. The core is a cheque.layout model (models.Model) that stores one calibrated template per bank/account: page size, top/left origin offsets in millimetres, and the X/Y position, font and max-width of every field — payee, numeric amount, amount-in-words, date (with per-cell digit boxes where the stationery requires it), memo and signature zone. Layouts render through dedicated QWeb reports with absolute CSS positioning so what you calibrate on screen is what lands on the paper; a one-page calibration grid report ships so you dial each bank in once. Amount-in-words is a computed field (@api.depends on the payment amount and currency) driven by a pluggable converter that handles English, plus the scripts you need — Arabic, Urdu, French — including correct minor-unit wording (e.g. "and 50/100"), currency name and an "Only" / closing terminator.
The module extends account.payment rather than replacing it, so cheques stay first-class Odoo payment records. We add print state (to_print / printed / voided / reprinted), a sequential cheque number allocated from an ir.sequence per bank account, and a batch action: filter outstanding vendor payments, allocate consecutive cheque numbers, and produce one collated PDF for a continuous printer run. Void and reprint are explicit, logged operations — voiding a cheque records the reason and voided-by user in the chatter, never silently reuses a number, and reprint issues a fresh number while keeping the original in the register. MICR support renders the routing/account/cheque-number line in a MICR-E13B web font (or a positioned image where a true MICR toner run is required) at the calibrated baseline. Security is enforced with ir.model.access.csv plus record rules so only your AP and Finance-Manager groups can print, void or edit layouts, and every cheque action is XML-RPC/JSON-RPC addressable for integration with an external approval or signing workflow.
Because this is build-to-order, nothing ships until we have your real inputs. You send scans or samples of each bank's blank cheque leaf and tell us which Odoo version (17.0, 18.0 or 19.0) and edition (Community or Enterprise) you run; we calibrate each layout, wire your bank sequences, configure the amount-in-words languages you actually issue in, and deliver installable source. Typical delivery is 2–4 weeks from confirmed scope, validated on a staging copy of your database with UAT sign-off before we touch production. You receive the git repository, so the module is yours to keep, audit and extend.
Issues vendor cheques daily and needs them to land perfectly on pre-printed leaves from several banks without manual tray alignment. Wants batch runs and a clean list of what still needs printing.
Owns the cheque register and audit trail. Needs consecutive numbering per bank, logged void/reprint reasons, and print rights restricted to authorised staff for SOX-style control.
Runs several bank accounts, currencies and sometimes languages across group companies. Needs one module that holds many calibrated layouts and renders amount-in-words in English, Arabic or Urdu as required.
Maintains the Odoo instance and wants clean, upgrade-safe source that extends `account.payment` rather than patching core, with the git repo handed over for internal support.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Check / Cheque Printing & Layouts depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Check / Cheque Printing & Layouts et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Per-bank layout accuracy | Millimetre-calibrated layout per bank account, verified on your printer | Achievable but you build and calibrate every leaf yourself | Fixed templates; often US/EU formats you must bend to fit | |
| Amount in words (multi-language) | English, Arabic, Urdu, French with minor units and RTL | Whatever you build; RTL and minor units are extra work | Usually English only, LTR | |
| Batch printing | Filter outstanding payments, allocate numbers, one collated PDF | You design the batch action and numbering yourself | Sometimes present, rarely with per-bank sequencing | |
| Void & reprint audit | Logged reason, voided-by user, number retired, reprint keeps original | Must be designed and enforced by hand | Void handling often minimal or absent | |
| MICR line support | E-13B line at calibrated baseline (font or positioned image) | Possible with effort; font and positioning are on you | Rare; region-dependent when offered | |
| Fit to your Odoo version | Built for your exact 17.0/18.0/19.0 and Community/Enterprise | You target and maintain the version yourself | Depends on marketplace maintainer's version support | |
| Ownership & extensibility | Full git repo handover; extend or audit freely | You own it, but you built and must maintain all of it | Licensed binary/obfuscated; limited to vendor roadmap | |
| Support model | Direct build team, post-go-live window, quotable follow-ups | Internal team or contractor availability | Marketplace ticket queue, variable responsiveness |
This is a build-to-order module, so we build it around your actual bank stationery. Typical delivery is 2–4 weeks from confirmed scope — the clock starts once we have your cheque-leaf samples, target Odoo version/edition and the list of banks and languages. Simple single-bank setups land at the fast end; multi-bank, multi-language or MICR runs sit nearer four weeks.
Yes — that is the whole point. Every bank leaf gets its own calibrated `cheque.layout` with millimetre offsets for each field. You send scans or blank samples, we calibrate each one using the calibration grid report and validate against printed test pages on your printer before go-live.
It runs on both. Odoo Enterprise ships a North-American-oriented check printing feature; our module works independently of it and supports multi-bank, multi-region stationery, RTL amount-in-words and full void/reprint auditing on Community too. Tell us your edition and version (17.0, 18.0 or 19.0) at scoping and we target it exactly.
Each bank account draws consecutive numbers from its own `ir.sequence` — no gaps, no silent reuse. Voiding a cheque is an explicit action that records the reason and the user in the chatter and retires that number. A reprint issues a fresh number while keeping the original entry in the register, so the audit trail stays intact.
Yes. Amount-in-words is a computed field backed by a pluggable converter with English plus Arabic, Urdu and French, including minor-unit wording and currency name. Arabic and Urdu render right-to-left at the calibrated position on the leaf. We enable exactly the languages you issue cheques in.
Delivery includes a post-go-live support window for defect fixes and layout tweaks once you have run real cheque batches. Because you receive the full git repository, the module is yours to keep and extend, and we can quote separately for future work such as new banks, an Odoo version upgrade, or added languages.
We build the module to extend `account.payment` and standard reports rather than patch core, which keeps upgrades clean. When you move to a newer Odoo major version we re-test the layouts and computed fields on a staging copy first; a version migration is scoped as its own engagement.
A build-to-order Odoo module that prints vendor cheques onto your pre-printed bank stationery with pixel-calibrated per-bank layouts, multi-language amount-in-words, batch printing, MICR line support and controlled void/reprint. ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19.