- Home
- Apps
- SaaS Tools
- Thermal Invoice Report for Odoo
Illustrative previewA build-to-order Odoo report that renders invoices and receipts in a narrow,
thermal-printer-friendly layout for 58mm and 80mm roll printers.
ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.
What is Thermal Invoice Report for Odoo?
A build-to-order Odoo report that renders invoices and receipts in a narrow, thermal-printer-friendly layout for 58mm and 80mm roll printers. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 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
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Most Odoo teams that sell over a counter or ship from a busy back office eventually hit the same wall: the standard A4 invoice PDF looks great on a desk but is unusable on a roll printer. The native account.move invoice report and the built-in QWeb templates (account.report_invoice_document) are laid out for full-width paper — margins, multi-column tables, and a company letterhead that all assume 210mm. Feed that to a 58mm or 80mm thermal printer and you get truncated columns, wasted paper, and cashiers who fall back to printing an A4 sheet and folding it. Odoo's Point of Sale receipt is thermal-native, but it is a POS order receipt — it is not your accounting-grade account.move invoice with tax breakdown, invoice number, and payment terms. That gap is exactly where teams get stuck.
We build a dedicated thermal invoice report as a proper Odoo module: a new QWeb report (ir.actions.report with report_type='qweb-pdf', plus an optional HTML/receipt paper format) bound to account.move, using a custom narrow report.paperformat sized to your roll (commonly 58mm or 80mm width, continuous length, minimal margins). The template is authored from the ground up for a single-column receipt flow — condensed header with your logo scaled to roll width, line items stacked with quantity/price/tax on tight rows, a running subtotal/tax/total block, and a footer for VAT/tax registration, return policy, or a QR/barcode. Because it is standard QWeb, it inherits your res.company branding, multi-currency, and per-tax grouping automatically, and it respects the invoice's language for multi-locale printing. We add a print action button on the invoice form (view inheritance via XML) so staff print the thermal copy in one click, and where you drive real ESC/POS hardware we can wire direct raw printing rather than a PDF round-trip. Everything ships with __manifest__.py declaring dependencies (typically account, optionally point_of_sale/stock), ir.model.access.csv and record rules so only the right roles trigger the report, and clean upgrade-safe data records.
Delivery is build-to-order. After a short scoping call we confirm your exact roll width, printer model/driver, which documents need a thermal variant (customer invoices, credit notes, POS-linked invoices, delivery slips), and any localization the footer must carry. We develop on a branch, hand you a staging build for UAT against your real printers and real invoices, then install on production with a rollback plan. Typical delivery is one working week from confirmed scope, faster for a single-company single-width base and longer when several document types, languages, or direct ESC/POS integration are in play. You get the installable source for your Odoo major version (17.0, 18.0, or 19.0), a git repository handover, and a support window after go-live.
Pricing starts from $999 (indicative, single-company base scope); additional document types, multiple roll widths/printer models, direct ESC/POS raw printing, extra languages, and multi-company rollouts increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise line item.
What you get
- Installable module source code for your Odoo major version (17.0, 18.0, or 19.0)
- Installation and configuration on your environment, including paper format and printer binding
- Technical documentation: module structure, QWeb template map, paperformat settings, and how to extend line/footer layout
- End-user guide plus a live training session for counter/back-office staff on the one-click print flow
- UAT on a staging build against your real thermal printers and invoices, with a documented rollback plan
- Post-go-live support window for defect fixes and print-layout adjustments
- Git repository handover with full commit history and tagged release
- Print-sample proofs for each requested roll width and document type, signed off before production install
Who this is for
Retail & counter-sales operators on Odoo
Shops and service counters that raise real `account.move` invoices (not just POS receipts) and print them on 58mm/80mm roll printers. They need accounting-grade invoices that fit the roll and print in one tap.
Odoo finance & accounting leads
Controllers who need the thermal copy to carry correct tax grouping, VAT/registration numbers, and totals that reconcile with the A4 invoice, so the printed slip is audit-consistent with the ledger.
Warehouse & dispatch teams
Back-office staff shipping many orders daily who want a fast, compact printed invoice or delivery slip on roll stock at the pack bench, without wasting A4 paper or slowing the line.
Odoo admins & internal IT
The people who own the Odoo instance and want a clean, upgrade-safe module with source, docs, and a git handover — not a black-box binary that breaks on the next version bump.
How Thermal Invoice Report for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Thermal-width invoice layout | Purpose-built QWeb report + custom 58/80mm paperformat for your roll | Achievable but you design and maintain the template yourself | Generic thermal layout, fixed width, hard to tailor | Only A4 invoice; POS receipt isn't the accounting invoice |
| Tax/total accuracy | Reads the invoice's own `tax_totals` — matches A4 exactly | Correct if built carefully; risk of hand-rolled math errors | Usually correct but limited control over grouping | Accurate, but not in a thermal format |
| Printer/hardware fit | Scoped to your printer model, DPI, and optional raw ESC/POS | You handle driver and raw-printing plumbing | Assumes generic driver; raw printing rarely included | PDF only; relies on OS print scaling |
| Odoo version support | Built and tested for your 17.0 / 18.0 / 19.0, upgrade-safe | Depends on your team's version discipline | Version support varies; may lag new releases | Ships with core, but no thermal output |
| Source & ownership | Full source + git repo handover, extend freely | You own it fully (you wrote it) | Often obfuscated or license-restricted | Core code, not your module |
| Delivery & effort | Build-to-order, one working week, we install and validate | Weeks of your own dev + QA time | Instant install but generic; tweaks are on you | Immediate but doesn't meet the need |
| Support after go-live | Included support window + optional maintenance/upgrades | Self-supported by your team | Vendor tickets, variable SLA, no local context | Community forums only |
Frequently Asked Questions about Thermal Invoice Report
How long does delivery take?
This is build-to-order. After a scoping call to confirm roll width, printers, and which documents need a thermal variant, typical delivery is one working week from confirmed scope. A single-company, single-width base is faster; multiple document types, languages, or direct ESC/POS integration extend the timeline. You get a target date in writing with the fixed quote.
Is this an existing app I can download and install today?
No. ECOSIRE builds, installs, and supports it for you — it is not an off-the-shelf apps.odoo.com download. We develop the module against your Odoo version and printers, validate on staging, then install on production. You receive the installable source and a git repository at handover.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base scope. Drivers like extra document types, multiple roll widths/printer models, direct raw ESC/POS printing, additional languages, and multi-company rollouts increase the quoted scope. After the scoping call you receive a fixed, itemized quote — no surprise charges.
What support and updates come with it?
Every build includes a post-go-live support window for defect fixes and print-layout tweaks. Because you receive the full source and git repository, your team can extend it freely. We also offer ongoing maintenance and version-upgrade support (for example moving the module from 17.0 to 18.0 or 19.0) as a separate engagement.
Will the thermal invoice totals and taxes match the standard A4 invoice?
Yes. The report reads the same `account.move` record and its computed `tax_totals`, so subtotals, per-tax grouping, price-included taxes, currency, and the grand total are identical to your A4 invoice. Only the layout changes — the numbers are the invoice's own.
Which roll widths and printers are supported?
Commonly 58mm and 80mm continuous rolls, with a custom `report.paperformat` sized to your exact stock and DPI. We confirm your specific printer model and driver during scoping. Where hardware supports it, we can add a direct raw ESC/POS printing path in addition to the standard PDF report.
Does it work on Odoo Community as well as Enterprise?
Yes. The module is standard QWeb and works on both Community and Enterprise for 17.0, 18.0, and 19.0. Any Enterprise-only fields are guarded so the report degrades gracefully on Community, and the manifest declares only the dependencies your setup actually needs.
Related Modules

Telegram Bot & CRM Integration
Connect a Telegram bot to Odoo for two-way chat, lead capture, order/ticket notifications and subscriber broadcasts. Built, installed and supported by ECOSIRE.

Telr Payment Gateway for Odoo
A build-to-order Telr payment provider for Odoo 17/18/19 — accept cards, mada & Apple Pay with 3DS and webhook reconciliation.

TikTok Lead Generation Connector
Capture TikTok Instant Form submissions straight into Odoo CRM with attribution, auto-assignment and dedup. Built to order for Odoo 17/18/19.

Total Items and Total Quantity in POS
A build-to-order Odoo Point of Sale extension that surfaces the total distinct line items and the total ordered quantity live on the POS order screen, receipt, and reporting. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 estate after a short scoping call.
Thermal Invoice Report
A build-to-order Odoo report that renders invoices and receipts in a narrow, thermal-printer-friendly layout for 58mm and 80mm roll printers. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.
- New QWeb report bound to `account.move` (`ir.actions.report`, `report_type='qweb-pdf'`) rendering a receipt-width invoice, not the A4 default
- Custom narrow `report.paperformat` sized to your roll — 58mm or 80mm width, continuous length, near-zero margins, correct DPI for crisp thermal output
- Single-column, stacked line-item layout: description, qty, unit price, and per-line tax on tight rows instead of wide multi-column tables
- Condensed header with `res.company` logo auto-scaled to roll width, plus invoice number, date, and customer reference