Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Localizations
  3. DE Gelangensbestätigung Generator v 19.0
  4. Sales Conditions FAQ

DE Gelangensbestätigung Generator

by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Odoo

$ 299.00

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
  • Description
  • Manifest
  • License

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.


Problem: Zero-Rated EU Sales Without Audit-Proof Evidence

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

Solution: A Native §17a UStDV Compliance Workflow

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.


Key Features
  • 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

How It Works - Full Collection Workflow
1

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.

2

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.

3

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.

4

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.

5

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.

6

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.


Module Cycle - Screenshots

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).

Arrival Confirmations list view with status badges

Step 3 - Kanban Grouped by Status

A quick operations board - Draft, Requested, and Validated columns show exactly which confirmations still need chasing.

Arrival Confirmations kanban view grouped by state

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.

EU Member State registry list view

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.

Confirmed sales order with Create Gelangensbestätigung button

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.

Newly created draft Gelangensbestätigung pre-filled from the sales order

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.

Gelangensbestätigung in Requested state with Mark Received button

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.

Validated Gelangensbestätigung with recipient signature and chatter history

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.

Validated Gelangensbestätigung with an attached CMR alternative proof

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.

Done delivery order with Create Gelangensbestätigung button

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.

Statutory Gelangensbestätigung PDF report with recipient signature

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.

Statutory Gelangensbestätigung PDF report with alternative proof table

Data Model at a Glance
Gelangensbestätigung

The confirmation itself - recipient, EU destination state, arrival place & date, issue date, signature, and the four-state collection workflow.

Goods Line

One row per item shipped - product, commercial description, quantity, and unit of measure.

Alternative Proof

One row per §17a Abs. 3 proof document - type, reference, carrier, date, and the file itself.

EU Member State

Registry of all 26 non-Germany EU member states with ISO code and VAT ID prefix, pre-loaded and ready to use.


Sales & Delivery Integration - One-Click Creation

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.

From a Confirmed Sales Order

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.

From a Done Delivery Order

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.


Statutory PDF & One-Click Evidence Pack

Two ways to hand your evidence to whoever needs it - a standalone document, or everything bundled at once.

Statutory PDF

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.

Evidence Pack (ZIP)

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.


Security Model

Two backend groups plus a validated-record lock keep the evidence trail trustworthy without getting in the way of day-to-day use.

Gelangensbestätigung User
Read/write/create on confirmations (no delete), full CRUD on goods lines and proofs, read-only on the EU member state registry.
Gelangensbestätigung Manager
Full CRUD everywhere, including the EU member state registry, and is the only role that can reset a Validated confirmation back to Draft. Auto-assigned to the admin user on install.
Validated-Record Lock
Once Validated, evidentiary fields reject writes from non-Managers and the record can't be deleted by anyone - model-level, not just a hidden button.
Multi-Company Rule
Confirmations are scoped to the user's allowed companies via a standard ir.rule.
Accounting
Consumes the customer and VAT data already on Sales Orders and Deliveries - it complements Accounting's zero-rated invoicing, it doesn't replace it.
10 Automated Tests
Covering the state machine, the validation guardrail, the write/unlink lock, and Sales Order pre-fill.

Use Cases

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

  1. Install: copy the module to your addons path -> Apps -> Update App List -> search "DE Gelangensbestätigung Generator" -> Install
  2. Assign users: Settings -> Users -> assign the Gelangensbestätigung User or Gelangensbestätigung Manager group
  3. Review the EU member state registry: Gelangensbestätigung -> Configuration -> EU Member States - all 26 are pre-loaded
  4. Create your first confirmation: confirm a Sales Order to an EU customer -> click Create Gelangensbestätigung
  5. Walk it through the workflow: set the arrival place/date -> Request from Recipient -> Mark Received -> attach a signature or proof -> Validate
  6. 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.


Frequently Asked Questions
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.


Business Benefits

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?

Contact Support


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
LicenseOPL-1
Websitehttps://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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with