Skip to content
Idea AtlasSign in

DocPress

As described:StopNarrowed:Continue

No as a generic PDF or document API. Go as a German e-invoice API for developers.

e-invoicing · ~$75 a month per customer · last reviewed (next review by 29 Dec 2026) · 69 cited sources

Save
Share

← All research

4. Expanded Feature Catalog (What E-Invoice Buyers Ask For)

These are the features developers and finance teams ask for when they have to issue e-invoices from their own code. They're each classified with the same honesty as the candidates in doc 03. Being in demand doesn't mean you should build it.

Legend: TS = Table stakes, D = Differentiator, X = Distraction, L = Liability. Priority: P0 = v1, P1 = next (months 3–9), P2 = later (months 10–24), — = don't build.

4.1 Formats and countries

Format / countryWhy it mattersCategoryPriorityNotes
ZUGFeRD 2.x / Factur-X, EN 16931 profile (Germany)The hybrid PDF most German SMEs and SaaS will send by emailDP0Don't offer the MINIMUM or BASIC-WL profiles for German B2B. The BMF FAQ excludes them.
XRechnung 3.x, CII syntaxPublic sector and many German receiversDP0Same data model as ZUGFeRD, so it's cheap to add.
XRechnung, UBL syntaxSome receivers and Peppol flowsDP1
ZUGFeRD EXTENDED profileComplex invoices (discounts, multiple deliveries)DP2Only when a paying customer needs it.
Factur-X for FranceOfficial French format since the 1 Sept 2026 go-liveDP2Customers route it through their certified platform (PA). You produce the file only.
Peppol BIS Billing 3.0 via a partner access point (Belgium, others)Mandatory network in Belgium since 1 Jan 2026D via partnerP2Resell or integrate e-invoice.be / Recommand. Never become an access point yourself.
Poland KSeF, Italy SDI, SpainClearance systemsX for you—Transmission-heavy, and local specialists exist (Invoicetronic, A-Cube, Openapi for Italy).

4.2 Generation and validation

FeatureDemand signalCategoryPriorityNotes
One JSON schema for all formatsHigh. Developers hate learning EN 16931 business terms (BT-xx).DP0Map friendly field names to BT codes, and publish the mapping.
Validation on every call, with the rule version recordedHighDP0The core promise.
Readable errors in German and English, with a fix hintHighDP0Turns "BR-DE-17" into an action.
Validate-only endpoint (check a file someone else made)High among receiversDP0It also powers the free public validator.
Branded PDF layer (logo, colours, language, 3 templates)Medium-highTSP0HTML templates only. No designer.
Credit notes, corrections, partial invoicesHigh in real billingTSP1Needed for retention. Real billing has refunds.
Reverse-charge and intra-EU wording helpersMediumD / LP1Suggest the standard wording, and label it "check with your tax adviser".
Small-business (Kleinunternehmer) and tax-exempt casesMediumTSP1A common German edge case.
Test mode / sandbox with watermarkHighTSP0The free plan.
Batch endpoint (100s of invoices at month-end)Medium-high for usage-billed SaaSDP1Month-end spikes are when support tickets happen.

4.3 The receiving side (the second recurring job)

FeatureCategoryPriorityNotes
Parse incoming XRechnung / ZUGFeRD / UBL to clean JSONDP1 (month 3–4)All German businesses must receive e-invoices since 1 Jan 2025. Platforms and expense tools need this.
Human-readable rendering of a received XRechnung (XML → PDF view)DP1XRechnung has no visual layer, and finance teams can't read XML.
Email inbox that receives e-invoices and posts JSON to a webhookDP2High stickiness. Keep it strictly receive-and-forward.
Supplier-invoice data extraction from plain PDFs (OCR/AI)X—A different, crowded market with accuracy risk.

4.4 Integrations and distribution

FeatureCategoryPriorityNotes
Stripe connector (webhook on invoice.finalized → e-invoice → attach or email)DP1Stripe doesn't generate e-invoices itself. It's the densest buyer pool.
Stripe App Marketplace listingDP1 (month 9)Billit is free there until 1 Jan 2027. Compete on developer control and inbound parsing, not on price.
SDKs: Node, Python, PHP, Java, .NETTSP0 (Node, PHP, Python) → P1German agencies are PHP-heavy (Laravel, Symfony, Shopware).
Laravel / Shopware / WooCommerce pluginsDP2Agency channel. Only after the API retains.
Chargebee, Paddle, Lemon Squeezy connectorsTSP2Merchants of record may handle invoices themselves. Check before building.
Zapier / Make / n8nX → TSP2A channel, not the core. It brings churn-prone buyers.
MCP server / AI-agent toolD (cheap)P2Cheap to add. It follows how developers now find tools.

4.5 Trust, compliance and operations

FeatureCategoryPriorityNotes
EU hosting, DPA, subprocessor list, ImpressumTSP0Required before German buyers send real data.
Data deletion by default (inputs deleted after N days unless archive is on)TSP0Reduces liability.
Archive with integrity hash (WORM-style storage)D / LP2German retention rules (GoBD) apply. Get the adviser's sign-off before marketing it as "GoBD-compliant".
Status page, uptime SLA on ScaleTSP1Month-end reliability matters.
Changelog of rule and format versions, with email alertsDP0Turns rule updates into a reason to stay.
SOC 2 / ISO 27001X—Enterprise-only. Not needed for this buyer at this size.
Free VAT-ID check (VIES with retries and cached proof)TSP0A free extra. Never the headline.

4.6 Rejected, even though people ask

FeatureCategoryWhy not
Full invoicing app (customers, products, dunning, payments)X / LThat's lexoffice, sevdesk and Billit. It changes you from an API into an app with support load.
Tax calculation engine (rates, OSS)LStripe Tax, Avalara and Taxdoo own it. Getting it wrong has real cost.
Address validationLLicensing and legal risk (doc 03).
Screenshot and URL-to-PDFXThe project-based market.

4.7 Net effect

Of about 35 requested features, about 14 are real differentiators for an e-invoice API, and about 10 belong in v1. The rest is table stakes to add slowly, other companies' products to integrate with, or risk.