DE Gelangensbestätigung Generator
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 299.00
DE Gelangensbestätigung Generator
Audit-proof arrival confirmations for intra-EU deliveries, native to Odoo 19 - Collection Workflow, Alternative Proofs, EU Member State Registry, Statutory PDF, and a one-click Evidence Pack export, all built into Sales and Inventory.
German suppliers selling goods tax-free to customers in other EU member states rely on §17a UStDV to justify the zero VAT rate on the invoice. That exemption only holds up if the supplier can produce a Gelangensbestätigung - documented proof the goods actually arrived - the moment a tax auditor asks for it. Standard Odoo has no concept of this document at all.
- No structured place to request, collect, and track arrival confirmations per delivery
- No record of the alternative proofs §17a Abs. 3 allows (CMR, forwarding agent's certificate, carrier tracking)
- No EU member state registry with VAT ID prefixes to validate against
- No statutory PDF laid out the way a German tax auditor expects to see it
- No way to lock a confirmation once validated, so evidence can quietly drift after the fact
- No one-click way to bundle everything into a single package when the auditor actually asks
This module adds the Gelangensbestätigung document as its own native Odoo 19 app. Pull a confirmation straight from a confirmed Sales Order or a done Delivery Order with one click; drive it through a Draft → Requested → Received → Validated workflow; attach the recipient's signature or one of the legally accepted alternative proofs; print a bilingual statutory PDF; and, once validated, download a single ZIP evidence pack bundling the PDF with every proof file - ready to hand to a tax advisor or auditor. Validated records lock themselves against edits so the evidence trail stays trustworthy.
- Collection Workflow: Draft -> Requested -> Received -> Validated (+ Cancelled). Each transition is its own guarded action - states cannot be skipped, and marking a confirmation Received requires an arrival date to already be set
- One-Click Creation: "Create Gelangensbestätigung" button on confirmed Sales Orders and on done outgoing Delivery Orders, pre-filling recipient, VAT ID, EU member state, and goods lines automatically
- Recipient Signature Capture: signatory name, signature image, and signature date on the confirmation itself
- Alternative Proofs (§17a Abs. 3): CMR freight bill, forwarding agent's certificate, carrier tracking document, or warehouse receipt confirmation - each with its own reference, carrier, date, and file attachment
- Validation Guardrail: a confirmation can only be Validated once it carries either a signature or at least one alternative proof - enforced at the model layer, not just a hidden button
- Locked Once Validated: write() rejects edits to evidentiary fields from non-Managers once a confirmation is Validated, and unlink() is blocked outright - only a Manager can reset a record to Draft to correct it
- EU Member State Registry: all 26 non-Germany EU member states pre-loaded with ISO code and VAT ID prefix, auto-matched from the recipient's country
- Bilingual Statutory PDF: German-primary / English-secondary QWeb report laid out to match the §17a UStDV requirements - supplier & recipient blocks, goods table, place & month of arrival, issue date, signature block, alternative proofs table
- One-Click Evidence Pack: a dedicated route bundles the statutory PDF with every attached proof file into a single downloadable ZIP - built in-memory, no extra dependency required
- Sequence-Numbered Records: every confirmation is auto-named
GB/<year>/00001 - Security Groups: Gelangensbestätigung User and Manager, plus a multi-company record rule
- Well Tested: 10 automated tests covering the state machine, the validation guardrail, the write/unlink lock, and Sales Order pre-fill
Create the Confirmation
Click Create Gelangensbestätigung on a confirmed Sales Order or a done outgoing Delivery Order - recipient, VAT ID, EU member state, and goods lines are pre-filled automatically. Or start from Gelangensbestätigung -> Arrival Confirmations -> New and fill it in by hand.
Fill In Place & Date of Arrival
Confirm or set the Place of Arrival and Date of Arrival once the delivery has actually shipped - required before the confirmation can move to Received.
Request It From the Recipient
Click Request from Recipient - the confirmation moves to Requested and the action is logged to the chatter, ready to be followed up by email or activity.
Mark Received & Attach Evidence
Once the recipient confirms, click Mark Received. Then either capture their signature on the Signature tab, or add one or more rows on the Alternative Proofs tab (CMR, forwarding agent's certificate, tracking document, warehouse confirmation) with the supporting file attached.
Validate & Lock the Record
Click Validate. Blocked with a clear error unless a signature or at least one alternative proof is present. Once validated, the confirmation locks itself against edits and deletion for anyone outside the Manager group.
Print or Export for the Auditor
Use Print Confirmation for the standalone statutory PDF, or Download Evidence Pack for a ZIP bundling that PDF together with every attached proof file - one file to hand to the tax advisor or auditor on request.
Step 1 - The App on the Home Menu
Installs as its own top-level app - no digging through Sales or Inventory settings to find it.
Step 2 - Arrival Confirmations List
Every confirmation at a glance - recipient, destination EU member state, arrival/issue dates, source Sales Order, and a color-coded status badge (Draft, Requested, or Validated in green).
Step 3 - Kanban Grouped by Status
A quick operations board - Draft, Requested, and Validated columns show exactly which confirmations still need chasing.
Step 4 - EU Member State Registry (Pre-loaded)
All 26 non-Germany EU member states ship with the module - ISO code and VAT ID prefix ready to use, no manual data entry required before the first confirmation.
Step 5 - "Create Gelangensbestätigung" on a Confirmed Sales Order
A Swedish customer buying at 0% export tax - exactly the scenario that needs a Gelangensbestätigung on file. The button appears the moment the order is confirmed.
Step 6 - The Resulting Draft, Fully Pre-filled
One click and the recipient, VAT ID, destination EU member state, source Sales Order, and every goods line are already there - the statusbar shows the full Draft -> Requested -> Received -> Validated path ahead.
Step 7 - Requested, Awaiting the Recipient
Mid-workflow: the confirmation has been requested from the Dutch recipient. Only Mark Received is available next - the model itself blocks jumping straight to Validated.
Step 8 - Validated with a Recipient Signature
Signatory name, signature image, and signature date captured on the Signature tab. The statusbar reads Validated, the chatter shows the full audit trail, and Print/Evidence Pack buttons are live.
Step 9 - Validated with an Alternative Proof (CMR)
No signature this time - instead, a CMR freight bill with carrier, reference, date, and the actual file attached satisfies the §17a Abs. 3 validation requirement on its own.
Step 10 - The Same Button on a Delivery Order
A done outgoing transfer gets its own Create Gelangensbestätigung button - handy when logistics, not sales, is the one closing out the paperwork.
Step 11 - The Statutory PDF (Signature Path)
Bilingual German/English document - supplier and recipient blocks, the goods table, place & month of arrival, issue date, and the recipient's actual signature image rendered on the page.
Step 12 - The Statutory PDF (Alternative Proof Path)
Same document, no signature needed this time - the Alternative Proofs table lists the CMR freight bill that carries the evidentiary weight instead.
The confirmation itself - recipient, EU destination state, arrival place & date, issue date, signature, and the four-state collection workflow.
One row per item shipped - product, commercial description, quantity, and unit of measure.
One row per §17a Abs. 3 proof document - type, reference, carrier, date, and the file itself.
Registry of all 26 non-Germany EU member states with ISO code and VAT ID prefix, pre-loaded and ready to use.
A confirmed Sales Order or a done outgoing Delivery Order gets a Create Gelangensbestätigung header button the moment it doesn't have one yet - no need to jump into the app and re-enter the customer or goods lines by hand.
Recipient, VAT ID, EU member state, and one goods line per order line are pre-filled. Arrival date is deliberately left blank - the goods haven't shipped yet - and gets filled in before the confirmation can be marked Received.
Same pre-fill, built from the picking's stock moves - and the arrival date is set automatically from the transfer's completion date, since the goods have already left.
Both directions add a smart button back to the source document, and the new confirmation opens ready to review before it's requested from the recipient.
Two ways to hand your evidence to whoever needs it - a standalone document, or everything bundled at once.
Bilingual German/English layout with supplier and recipient blocks, a goods table, place & month of arrival, issue date, and a signature block with the recipient's name, image, and date - plus a table of every alternative proof on file. Available from the Print menu on every confirmation.
Available once a confirmation is Validated: Download Evidence Pack streams a single ZIP containing the statutory PDF plus every alternative proof file attached to the record - built entirely in-memory, no external dependency required.
Two backend groups plus a validated-record lock keep the evidence trail trustworthy without getting in the way of day-to-day use.
ir.rule.German Manufacturers & Wholesalers
Selling zero-rated to EU B2B customers and needing a defensible paper trail for every intra-Community delivery, without a spreadsheet on the side.
Accountants & Tax Advisors
Pull a complete, already-validated evidence pack per delivery at VAT return or audit time, instead of chasing sales and logistics for scanned documents.
Logistics & Shipping Teams
Generate the confirmation straight from the Delivery Order the moment it's done, with the arrival date already filled in.
Sales Teams Closing EU Deals
Kick off the confirmation with one click from a confirmed Sales Order, so compliance is set in motion the moment the deal closes.
Businesses Facing a VAT Audit
Every validated confirmation is locked and traceable, with a one-click evidence pack ready the moment the auditor asks.
Companies Trading Across Multiple EU States
The pre-loaded EU member state registry keeps VAT ID prefixes and destination countries consistent across every confirmation.
Installation & First Setup
- Install: copy the module to your addons path -> Apps -> Update App List -> search "DE Gelangensbestätigung Generator" -> Install
- Assign users: Settings -> Users -> assign the Gelangensbestätigung User or Gelangensbestätigung Manager group
- Review the EU member state registry: Gelangensbestätigung -> Configuration -> EU Member States - all 26 are pre-loaded
- Create your first confirmation: confirm a Sales Order to an EU customer -> click Create Gelangensbestätigung
- Walk it through the workflow: set the arrival place/date -> Request from Recipient -> Mark Received -> attach a signature or proof -> Validate
- Print or export: Print Confirmation for the PDF, or Download Evidence Pack once validated
Requires: Odoo 19 Community or Enterprise with modules: base, mail, stock, account, sale_management. No additional enterprise modules required. No demo data - the EU member state registry and sequence are always loaded on install.
Can I create a confirmation directly from a Sales Order or Delivery Order?
Yes, both. A "Create Gelangensbestätigung" button appears on confirmed Sales Orders and on done outgoing Delivery Orders that don't already have one, pre-filling the recipient, VAT ID, EU member state, and goods lines.
What counts as valid proof if the recipient never signs anything?
Any one of the alternative proofs permitted under §17a Abs. 3 UStDV - a CMR freight bill, a forwarding agent's certificate, a carrier tracking document, or a warehouse receipt confirmation. A confirmation validates with either a signature or at least one such proof attached.
Can a Validated confirmation be edited or deleted?
Not directly. Once Validated, evidentiary fields reject writes from anyone outside the Manager group, and the record can't be deleted at all. A Manager can reset it to Draft to make a correction, then walk it back through the workflow.
Why is the arrival date sometimes empty when I create a confirmation?
Creating from a Sales Order happens before the goods ship, so there's no arrival date yet - it's filled in once known and is required before the confirmation can be marked Received. Creating from a done Delivery Order fills it in automatically from the transfer's completion date.
Does the module work with Odoo Community or only Enterprise?
Both. It depends only on standard Community modules (base, mail, stock, account, sale_management). No enterprise-only modules are required.
Audit-Ready Zero-Rating Evidence
Keep every intra-Community supply's §17a UStDV evidence structured, validated, and locked - not scattered across inboxes and shared drives.
Faster Compliance Cycles
One click from a Sales Order or Delivery Order starts the confirmation - no re-keying customer or goods data by hand.
Ready the Moment the Auditor Asks
A single Download Evidence Pack click bundles the statutory PDF and every proof file - no scrambling to assemble documents under deadline pressure.
Tamper-Evident by Design
Validated confirmations lock themselves against edits and deletion, so the evidence trail can't quietly drift after the fact.
Need Help or Have a Feature Request?
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) • Invoicing (account) • Sales (sale_management) |
| Lines of code | 893 |
| Technical Name |
gelangensbestaetigung_generator |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module