DAC7 Platform Operator Reporting for Odoo Online — SaaS version with no Python code: reportable sellers, tax identification, quarterly revenue and commissions withheld, with a check that blocks the annual export while any seller record is incomplete — and flags it before the deadline, not after.
Overview
DAC7 — platform operator reporting — DYONYSOS
App for platform operators — marketplaces, accommodation or vehicle rental, on-demand services — on Odoo 19 Community.
Also searched as: DAC7 software, platform operator reporting, directive 2021/514, marketplace reporting obligation, seller tax identification, sharing economy platform reporting.
The framework
Council Directive (EU) 2021/514 of March 22, 2021, known as “DAC7,” amends Directive 2011/16/EU on administrative cooperation in the field of taxation. It requires platform operators to collect, verify and report annually to their tax authority the identity of their sellers and the income paid to them. It has applied since the 2023 reporting period.
What the module does not do, and why that comes first
It transmits nothing. It connects to no portal, calls no tax authority interface and produces no file in the official XML format. That format and its successive versions are the responsibility of the filing authority, differ from one Member State to another, and a module claiming to keep up with them would end up producing a file rejected on filing day. What it produces is a complete, verified tabular extract, to be opened, reviewed and carried over into the filing tool.
It verifies no tax identifier against a register: it checks neither validity nor existence. It makes sure the data is present, and that its absence is justified.
The check that matters
A seller whose identification is incomplete cannot be reported. The file would be missing a tax identifier, a country, an address, a date of birth. The module refuses to produce the annual extraction as long as a reportable seller is incomplete, and the message names each seller together with what is missing for each — not “some data is missing”, which would force you to open forty records one by one.
And it tells you before the deadline, not after. A scheduled action posts the countdown in the period's chatter at ninety, sixty, thirty, fifteen and seven days from the due date. The intervals are wide at first because ninety days out is when a follow-up still has time to succeed: obtaining a missing tax ID means writing to the vendor and waiting for their reply. Finding out on January 30 that forty are missing means finding out it is too late.
This task writes to no one — neither the seller nor the authorities. An automatic reminder sent to a third party on behalf of the platform would be an action no one has approved.
Two settings, and they really are settings
The due date is initialized to January 31 of the year following the period, and remains editable: the filing calendar is set by each Member State and may be postponed. Check yours with your tax authority.
Excluded seller thresholds — the directive excludes sellers of goods who stay below a double threshold: a number of transactions and an amount. The defaults are 30 transactions and 2,000, the directive's values. They remain editable: a hard-coded threshold becomes wrong the day it changes, without anyone noticing.
The dual threshold is cumulative, and this is the most common misreading: a seller with twenty-nine transactions but ten thousand euros is not excluded, and neither is a seller with a thousand euros across forty transactions. The module calculates eligibility, but does not apply the exclusion on its own: it is a decision that binds the operator, it must be justified, and excluding a seller who exceeds a threshold is a reporting omission.
What is recorded
Reportable periods with their due date and thresholds. Sellers with their type, name, primary address, tax identification number and its issuing country — or the written reason for its absence —, their date of birth or registration number, their financial account identifier, the activities carried out and, for real estate rentals, the property address and land registry reference. Income per quarter, as the directive requires — not just the annual total, which catches people out at filing time — with commissions, fees and taxes withheld.
What the module does not do
It files no return and produces no official XML format. It verifies no tax identifier against a register. It writes neither to the seller nor to the tax authority. It calculates no tax and is no substitute for tax advice. It does not handle invoicing, payments or the marketplace itself: it organizes the reportable data and checks it.
Two roles
Seller manager: collects and completes identification data, enters quarterly revenue. Reporting manager: opens periods and sets their thresholds and due date, decides on exclusions, produces the extract and records the filing.
Basis
Council Directive (EU) 2021/514 of March 22, 2021 amending Directive 2011/16/EU on administrative cooperation in the field of taxation.
Transposition details, filing schedules and file formats are up to each Member State: the module hard-codes none of them; it exposes them as settings or leaves them outside its scope. A compliance module that cited a wrong deadline would be worse than one that cited none.
Specifications
| Price | €249 excl. VAT |
|---|---|
| License | OPL-1 |
| Odoo series | 19.0: published on the Odoo Apps Store; 20.0: published on the Odoo Apps Store |
| Version | 1.0.0 |
| Edition | Odoo Online (SaaS) and Odoo.sh |
| Technical name | dyo_dac7_online |
| Domain | Industries and services |
Price excluding VAT as displayed on the Odoo Apps Store; purchase and installation are done on the Store or through your Omnifloo instance.