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

Start this week

  1. Tell me your hours per week, whether you (or a partner) read and write German, and whether you can reach a German tax adviser for a paid review.
  2. List 40 companies that bill German businesses from their own code (look for "Rechnung" in SaaS footers, Stripe-billed tools, German agencies on GitHub), and book 10 calls.
  3. Build a one-page German/English site: "JSON rein, gültige E-Rechnung raus" (JSON in, valid e-invoice out), with a waitlist and a €29 design-partner offer.
  4. Run Mustangproject and the KoSIT validator locally. Produce one valid XRechnung and one ZUGFeRD EN 16931 file from sample JSON, to confirm the concierge offer is deliverable this month.

Checkpoints and kill gates

Decide in advance what counts as on track. Missing a checkpoint means changing the buyer or the offer, not adding features.

  1. Day 21

    ~15 hrs/week

    2 paying design partners

    Full-time

    3 paying design partners

    If you miss it

    Switch segment once (e.g. agencies building billing for clients instead of SaaS). Missing twice means stop.

  2. Day 90

    ~15 hrs/week

    10 paying, $500 MRR

    Full-time

    15 paying, $1k MRR

    If you miss it

    Cut to the single most-used call (usually JSON → ZUGFeRD). Kill anything unused.

  3. Month 6

    ~15 hrs/week

    $1.2k MRR, revenue churn ≤3%/mo

    Full-time

    $2.5k MRR, revenue churn ≤3%/mo

    If you miss it

    Pivot A: inbound parsing first (receiving side). Pivot B: Stripe App only.

  4. Month 12

    ~15 hrs/week

    $2.5k MRR

    Full-time

    $5k MRR, ≥40% of signups from the validator

    If you miss it

    Stop adding formats. Fix onboarding, docs and churn.

  5. Month 18

    ~15 hrs/week

    $4k MRR

    Full-time

    $8k MRR

    If you miss it

    Put all effort into the single best channel. Decide on France Factur-X.

  6. Month 24

    ~15 hrs/week

    $5k+ MRR

    Full-time

    $10k+ MRR ($20k is the stretch)

    If you miss it

    At ≥$3k with churn ≤3%: keep running it profitably and extend. Below $1k: stop, or sell the code and the validator traffic.

Do

  1. 1.Sell one job: "send JSON, get a valid German e-invoice back." ZUGFeRD / Factur-X EN 16931 hybrid PDF plus XRechnung (CII and UBL), validated with the official KoSIT rules, with a validation report stored on every document.

    Target: Every visitor gets it in one line

    Why: A plain PDF stops counting as an invoice for German B2B from 2027 (>€800k turnover) and 2028 (everyone). It's a legal duty repeated on every invoice, forever.

  2. 2.Target companies that invoice from their own code: SaaS and platforms selling to German businesses, marketplaces, agencies building billing for clients, niche vertical ERPs.

    Target: ≥70% of paying customers issue ≥100 invoices a month

    Why: They can't just switch on DATEV or lexoffice. They need an API. Their volume is steady, so churn is low.

  3. 3.Sell before building. Offer 3–5 design partners a hand-run version: you convert their invoice data to ZUGFeRD using open-source libraries and validate it, for a fee.

    Target: 3 paying by day 21, 15 by day 90

    Why: It proves developers will pay instead of wiring up Mustang or horstoeko themselves. That's the real competitor.

  4. 4.Build on the free, proven libraries, and sell the parts they don't do: hosted API, branded PDF layout, validation, error messages in plain German and English, Stripe connector, archive.

    Target: v1 live within 6–8 weeks

    Why: The format engine is free (Mustangproject, horstoeko/zugferd, factur-x). Your value is time saved and certainty, not the XML.

  5. 5.Validate every document against the official rules before returning it, and version the rules (XRechnung updates regularly).

    Target: 100% of documents carry a pass/fail report. Zero invalid documents sent as "valid".

    Why: Certainty is the product. One invalid invoice in a customer's audit ends the account and the referrals.

  6. 6.Add inbound parsing early: e-invoice in (XRechnung / ZUGFeRD / UBL), clean JSON out.

    Target: Live by month 4. ≥30% of Growth customers use it.

    Why: All German businesses must receive e-invoices since 1 Jan 2025. A second recurring job doubles the reasons to stay.

  7. 7.Price for B2B, not hobbyists. Free sandbox (watermarked, 50 docs). Starter €29, Growth €79, Scale €199 a month, overage per document, annual = 2 months free. No lifetime deals.

    Target: Blended ARPA ≥€65. ≥40% of revenue on annual plans by month 12.

    Why: ChartMogul: median churn is 6.1% a month below $25 ARPA and 2.2% above $500. Low price buys high churn.

  8. 8.Ship a free public validator ("E-Rechnung prüfen", "ZUGFeRD validieren") and a free JSON-to-XRechnung playground, in German and English.

    Target: 2,000 validator uses a month by month 6. ≥50% of signups come through it.

    Why: It's the search term people type the week they get a rejected invoice. It's also a channel that keeps working while you're offline.

  9. 9.List a Stripe App (Stripe invoice → ZUGFeRD / XRechnung), after the core API retains.

    Target: Listed by month 9

    Why: Stripe states it "doesn't generate or transmit legally compliant e-invoice files on its own". Stripe-billed SaaS selling to German B2B is your densest buyer pool.

  10. 10.Automate operations from day 1: self-serve signup, docs with copy-paste examples in 5 languages, status page, usage alerts, email-only support with a 1-business-day promise.

    Target: Support under 2 hrs/week per 50 customers

    Why: It keeps the product workable at ~15 hours a week.

  11. 11.Host in the EU and publish a data-processing agreement (DPA). Delete input data after a set window unless the customer turns on the archive.

    Target: DPA and subprocessor list live at launch

    Why: German buyers ask for this before they send a single invoice.

  12. 12.Expand by format, not by feature: Germany first, then France Factur-X output (customers route it through their certified platform), then Belgium Peppol through a partner access point.

    Target: Second country only after $5k MRR

    Why: Each country is a new rulebook. Adding one before the first retains spreads you thin.

Avoid

  1. 1.A generic "HTML-to-PDF / document API" pitch

    Why: DocRaptor ($15 for 125 docs), PDFMonkey (€5 for 300), APITemplate.io ($24 for 3,000), CraftMyPDF, PDFShift and now ScreenshotOne's own PDF API already own it. Stripe, Paddle, Lemon Squeezy, Chargebee and QuickBooks all produce invoice PDFs natively. Generic documents churn at ~5% or more a month.

  2. 2.Leading with EU VAT-number validation

    Why: Stripe validates EU VAT IDs against VIES automatically. VATcomply is free, vatlayer starts at $9.99, and a dozen new clones launched in 2025–26. It's tiny revenue per customer. Include it free inside the invoice API instead.

  3. 3.Address validation or a data feed as the core

    Why: Address data needs licences (Royal Mail PAF: £7,525 a year for one website) and carries legal risk. GetAddress.io was shut down in Feb 2026 after a High Court database-rights ruling. Data feeds like exchange rates compete with free sources.

  4. 4.Becoming a Peppol access point or a French certified platform (PA)

    Why: A Peppol access point costs ~€4.4k in OpenPeppol fees in year one, plus certification and running the network software. A French PA needs ISO 27001, SecNumCloud-qualified hosting and a conformity audit, and 149 PAs are already registered. Partner with an existing access point instead (e-invoice.be, Recommand, Peppyrus, Billit).

  5. 5.Calling anything "tax advice" or "guaranteed compliant"

    Why: Say "validated against the official EN 16931 / XRechnung rules, version X". Put the rest in the terms.

  6. 6.Racing to the bottom on price

    Why: Apify actors sell ZUGFeRD generation from $10 per 1,000. Billit is free on Stripe until 1 Jan 2027. You can't win on price. Win on certainty, docs, German support and inbound parsing.

  7. 7.No-code (Zapier, Make) users as the main market

    Why: They're the project-based, "need was temporary" buyers who cap ScreenshotOne. Offer the integrations later as a channel, not as the core.

  8. 8.A drag-and-drop template designer in v1

    Why: It's months of work, and CraftMyPDF already has it. HTML/CSS templates plus 3 good defaults are enough.

  9. 9.Holding customer money, sending invoices on their behalf, or running dunning

    Why: That turns an API into an invoicing app and brings liability. Generate, validate, parse and archive only.

  10. 10.More than one country before $5k MRR

    Why: Germany alone has two formats, two syntaxes and several profiles to get right.

  11. 11.Paid ads before month 6

    Why: Search intent is free and specific. Ads to "developers" buy trial users who leave.

  12. 12.An English-only product for a German buyer

    Why: German docs, a German validator page and German error messages are table stakes for trust.

  13. 13.Raising money

    Why: $5k–20k MRR needs no outside money, and funded players (Invopop at €500 a month for Pro, Storecove, Pagero) already fight for the enterprise end.

  14. 14.Adding features when a checkpoint fails

    Why: A miss means the wrong buyer or the wrong channel. Change that first.