A build-to-order Odoo module that captures approver and counterparty signatures directly on purchase orders, vendor bills, customer invoices and inventory transfers, then embeds them on the printed QWeb documents. Designed, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.
ایپ مینی فیسٹ
آپ کے ورک فلو کے مطابق تیار کردہ
A build-to-order Odoo module that captures approver and counterparty signatures directly on purchase orders, vendor bills, customer invoices and inventory transfers, then embeds them on the printed QWeb documents. Designed, installed and supported by ECOSIRE.
خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔
ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔
ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔
آپ تقریباً 2–4 ہفتوں میں لائیو ہو جاتے ہیں، لانچ کے بعد معاونت کی مدت کے ساتھ۔
Approval sign-off in Odoo is mostly invisible. A purchase order goes from draft to purchase, an invoice gets posted, a delivery gets done — but the who, the when, and the visible authorising mark that auditors, vendors and warehouse receivers expect all live outside the record, in scanned PDFs, email threads and paper folders. Teams end up printing an Odoo document, signing it by hand, re-scanning it, and attaching it back — a loop that defeats the point of running the ERP. Odoo core gives you the approval state machine and the audit mail.thread log, but it does not capture a graphical signature on purchase.order, account.move or stock.picking, and it does not print that signature on the QWeb report. On Community the gap is total; even where sign widgets exist elsewhere, they are not wired into procurement, billing and warehouse documents the way a paper-driven or compliance-driven process needs.
This is what we build to order. We add a signature capture surface — an OWL-based signature pad plus an optional "signed by" user binding — onto the forms you actually route for approval: purchase.order, account.move (both vendor bills and customer invoices), and stock.picking (deliveries and receipts). Under the hood the signature is stored as a binary field on the target model with companion signed_by (res.users/res.partner), signed_on (Datetime), and computed signature_state fields driven by @api.depends, so the record itself carries a first-class, queryable signing state instead of a loose attachment. Access is enforced through ir.model.access.csv plus record rules so that only the roles you nominate — a purchase manager, a finance approver, a warehouse lead — can affix or clear a signature, and an automated action can require the signature before the document is allowed to leave draft. The captured image is rendered into the QWeb PDF reports (purchase.report_purchaseorder, account.report_invoice, stock.report_deliveryslip, or bespoke report templates) so the document you email or hand to a counterparty shows the signature, the signer's name and the timestamp exactly where your process expects them.
Because it is delivered as a proper module, everything is configurable to your reality: which documents require signatures, whether a second counter-signature is needed, whether the signature blocks state transitions or is advisory, and how it appears on the printout. We can bind signatures to your existing approval hierarchy, surface them in list and kanban views for at-a-glance status, expose them over the XML-RPC/JSON-RPC API so an external portal or mobile app can post a signature back, and fire an automated action or activity when a document is still awaiting sign-off. The module ships with a clean __manifest__.py declaring dependencies on purchase, account and stock, versioned for Odoo 17.0, 18.0 or 19.0, and respects Community vs Enterprise boundaries — we do not assume paid apps you may not have, and we tell you upfront if a request needs an Enterprise-only dependency.
Delivery is build-to-order: after a short scoping call we confirm exactly which documents, roles, report layouts and approval rules are in play, then build against your Odoo version, deliver on a staging database for UAT with a documented rollback, and only then install to production. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $299 (indicative, single-company base scope); additional signed document types, multi-company signing rules, custom QWeb report redesigns, and integration with an external signing or approval portal increase the quoted scope. You receive a firm fixed quote after the scoping call — never an open-ended bill.
Routes purchase orders through an approval hierarchy and needs a visible, timestamped authorising signature on the PO that vendors receive — not just an internal state flip — so spend commitments are provably approved.
Wants vendor bills and customer invoices to carry a captured approver signature on the posted document and printout, tightening internal controls and giving auditors a clear sign-off trail inside Odoo.
Needs delivery and receipt documents (`stock.picking`) signed by the person handing over or accepting goods, with the signature printed on the delivery slip as proof of custody transfer.
Owns the Odoo instance and wants signing capability delivered as a maintainable module with proper access rules and version compatibility, rather than ad-hoc scan-and-attach workarounds across teams.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Signing on PO, invoice & inventory docs | Built into all three document types as scoped | Possible but you specify and maintain every model | Usually one document family, rarely all three | |
| Signature on printed QWeb report | Rendered on PO, invoice & delivery slip PDFs | Requires you to edit each report template | Often only on-screen, printout varies | |
| Fit to your approval roles | Bound to your hierarchy via record rules | Whatever you design and test yourself | Generic roles, limited configurability | |
| Audit trail & queryable state | `signed_by`/`signed_on` fields + chatter log | Only if you build and index it | Varies; often a bare image field | |
| Odoo 17/18/19 & Community/Enterprise | Built and pinned to your exact edition | Your team tracks version compatibility | Depends on vendor's update cadence | |
| Delivery model | Build-to-order, 2–4 weeks, UAT + rollback | Your internal backlog and timeline | Instant download, self-install and self-fit | |
| Ongoing support | Post-go-live window + optional upgrades | You own all maintenance | Forum/ticket support, quality varies | |
| Cost shape | From $299 indicative, fixed quote after scoping | Developer time, typically higher and open-ended | Low sticker price, hidden fitting cost |
This is a build-to-order module, not an instant download. After a scoping call to confirm which documents, roles and report layouts are in scope, typical delivery is 2–4 weeks from confirmed scope. We build against your exact Odoo version, deliver on a staging database for UAT, and install to production only after you sign off.
Pricing starts from $299 as an indicative figure for a single-company base scope. The final price is a firm fixed quote issued after the scoping call, once we know how many document types need signing, whether multi-company or counter-signature rules apply, and whether custom report redesigns or external portal integration are required. You never get an open-ended or hourly-creep bill.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full source and git repository, you own the code. We offer ongoing support and version-upgrade services (for example moving the module from Odoo 17.0 to 18.0 or 19.0) as a separate engagement when you need it.
The base scope covers purchase orders (`purchase.order`), vendor bills and customer invoices (`account.move`), and inventory receipts and deliveries (`stock.picking`). We can extend signing to other documents — sales orders, quality checks, custom models — as part of the scoped build.
The module is built to run on your edition. Core signing on purchase, invoice and inventory documents works on Community and Enterprise for Odoo 17.0, 18.0 and 19.0. If a specific request depends on an Enterprise-only feature, we tell you before you commit so there are no surprises.
The signature is stored as a first-class field on the record alongside a `signed_by` user/partner reference and a `signed_on` timestamp, and signing events are written to the document's chatter. That gives you a queryable, filterable and auditable signing state inside Odoo — far more than a scanned attachment. Note this is a workflow and record-of-approval signature, not a cryptographic/qualified e-signature certificate unless that integration is explicitly scoped.
Both are possible. Internal approvers sign directly in the Odoo form via the signature pad. For vendor or customer acknowledgement we can expose the signing action over the XML-RPC/JSON-RPC API or a portal flow, so a counterparty can post their signature back onto the document. This is defined during scoping.
A build-to-order Odoo module that captures approver and counterparty signatures directly on purchase orders, vendor bills, customer invoices and inventory transfers, then embeds them on the printed QWeb documents. Designed, installed and supported by ECOSIRE.