About Attestwire
one person, reading the rule books so you don’t have to.
Attestwire helps software teams create electronic invoice files and understand validation errors. A finding names the rule, the affected field and what to change. The service is independently built and run.
Why it exists
An invoice rejection may name a rule without explaining how to fix it. Attestwire connects that rule to the invoice field and the next action. Developers can inspect the original error and the suggested correction together.
It also handles the less visible work: mapping business terms to UBL and CII, maintaining code lists and calculations, and keeping one model across the library, API and MCP tools.
Who it is for
Teams adding electronic invoicing to business software, billing systems or customer integrations. If a customer has asked you for XRechnung (Germany's version of the European e-invoice standard), for Peppol BIS (the rule set of the Peppol invoice network), or for an invoice in UBL or CII (the two XML formats such an invoice can be written in), this is for you.
Attestwire is not a bookkeeping application or transmission network. The limits page says where the boundary runs.
How we build trust
-
The engine is published under MIT.
@attestwire/en16931is on npm and its source is on GitHub, so the implementation can be read before it is depended on. - Every rule has a page, generated from the code. The content on each rule page comes from the published library at build time.
- The limitations are published too. What is not implemented is a list on the limits page, kept in the same file the library's own changelog is written from.
- The fixtures and the validator run stay inspectable. The committed release fixtures and the recorded KoSIT result are in the repository, with the script that reproduces them.
- Prices, data handling and discontinuation terms are public documents. Hosted invoice payloads are processed in memory and not stored (security), and the notice period is written into the terms.
Where the engine stops
Attestwire handles document generation and validation. It does not build PDF containers, transmit invoices or replace an access point. The limits page gives the complete technical and operational boundary.
Complete list of current limits
These are the things the engine does not do today. Each one is explained on the limits page.
- Factur-X and ZUGFeRD as a PDF
- Validating the XML itself
- Debit notes
- The project reference on a UBL credit note
- XPaths on credit-note findings
- Peppol rules inside the XRechnung schematron
- Rules the generator controls
- Four rules the regulator does not test either
- VAT category B, and the Extension and CVD profiles
- National Peppol rule sets
Attestwire has no SOC 2 report and no ISO 27001 certification, and there is no support SLA on any plan.
If Attestwire stops operating
A small vendor can stop operating. Three things limit what that would cost you:
-
The library keeps working without us.
@attestwire/en16931is MIT-licensed and the licence is irrevocable for versions already released. It makes no network calls, needs no account, and anyone may fork and maintain it. - The hosted API uses the same core engine. Moving to the local library still takes engineering work, but it does not mean replacing a private validation format.
- You get at least 60 days' notice. If the hosted API is discontinued, every account is emailed at least 60 days before it stops answering, and there are no further charges after the notice goes out. That commitment is in the terms, not just on this page.
Who runs Attestwire
Attestwire is built and operated by Ben Harborne in Woodside, California. Support, security reports and commercial questions all arrive at one address, hello@attestwire.com, and the target for a reply is two business days.
There is no support SLA. The contracting party for the hosted API is the same person, named in the parties clause.
Contact
Evaluating an embedded or higher-volume integration? Email hello@attestwire.com and include the formats you need, your approximate monthly volume, the programming language you are working in, and the system that will transmit the finished document. With those four details we can usually answer in one reply.
The same address accepts bug reports, rule corrections and security reports.
Discuss an embedded integration
Try a sample invoice · Browse the rules · Read the source
Last updated . If this page changes materially we will say so here rather than silently swapping it.