bill_upload_guide
The panel that offers three ways to get a bill into Odoo: upload a file, email it to an alias, or type one in.
August 27, 2026Updated August 31, 20264 min read
| Technical name | bill_upload_guide |
|---|---|
| Views | kanban, list, form (view widget, <widget> element) |
| Module | account, the Invoicing and Accounting apps |
| Used in core | The vendor bills and customer invoices views in account |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0 |
| No-code setup | No. It is set in view XML and depends on module-specific data |
| Alternatives | account_onboarding, purchase_file_uploader, attach_document |
What the bill upload guide does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
the journal record | optional prop | When present, a full context is built. When absent, the search context is used instead. |
the journal type | field read from the record | Derives the default document type: customer invoice, vendor bill or journal entry. |
the alias | field read from the record | Shown only when an alias domain is configured on the journal. |
the sample availability call | server method | Asked before the sample bill option is offered at all. |
It behaves differently in two places. On a journal record it builds a full context including the document type derived from the journal. In a filtered list with no record, it falls back to the search context and only carries the journal through.
Working examples
Two contexts, depending on where it sits
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Partial / changed | Not released. Reworked alongside the accounting onboarding changes. |
| Odoo 19.0 | Verified | Verified against the shipped source. |
| Odoo 18.0 | Verified | Same three paths. |
| Odoo 17.0 | Verified | Same three paths with older component conventions. |
| Odoo 16.0 | Not available | Widget does not exist in this form. |
Upgrade note. Present since Odoo 17. The three paths have been stable across those versions, though the sample bill check and the alias display were refined.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| No email address is shown | The journal has no alias domain configured. Configure the alias domain in accounting settings. |
| The wrong document type opens | The type is derived from the journal's own type. Open the panel from the correct journal. |
| The sample option is missing | The server reported no sample is available. Expected in databases where sample data was not installed. |
| The panel offers less in a list view | With no journal record it falls back to a narrower search context. Open it from a journal card for the full context. |
| Uploading does nothing | The embedded uploader needs the context that setup builds. Check the journal is resolvable from the record or the search context. |
| Props warnings in the console | The component accepts any props deliberately. Expected; the source notes it may receive view widget props. |
Bill upload guide vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
bill_upload_guide | Showing a team the three ways bills can arrive in Odoo | Adapts its context to whether it sits on a journal or in a filtered list |
| account_onboarding | The accounting setup checklist | Steps rather than upload paths |
| purchase_file_uploader | Uploading against a purchase order | A single upload path, no guidance |
attach_document | Attaching a file to a record | An action rather than a guide |
Frequently asked questions
Why does the panel behave differently in different views?+
Why is no email address shown?+
How is the document type chosen?+
Why is the sample bill sometimes missing?+
Why does it accept any props?+
Accounts payable that runs itself
Email aliases, document capture and approval rules turn bill entry from a daily task into an exception queue. We implement Odoo Accounting and automate what arrives, on versions 16 through 19.
Book a free consultation