Créez, envoyez et recevez des factures conformes. Factur-X · Peppol UBL · PA France · 12 langues · IA intégrée. Conforme à la réforme de septembre 2026.
Tout ce dont vous avez besoin pour facturer, recevoir et être conforme.
Factures, avoirs, devis en 1 seconde.
Factur-X, Peppol UBL, 4 mentions obligatoires.
PDF bilingue arabe/anglais.
Transmission officielle DGFiP.
Boîte de réception fournisseurs.
EN 16931 · Peppol BIS 3.0 · FNFE-MPE · NLCIUS · XRechnung · correction IA bêta (doxnex.io/validate).
Acceptation en ligne, conversion en facture.
CA, TVA, DSO, export comptable.
J+7, J+15, J+30.
16,8M entreprises via GEOREFER.
SHA-256, rétention légale.
TVA, conformité, facturation.
Connexion en 1 clic.
Page publique facture + Stripe.
docs.doxnex.io
5/5 valides. Certifié par des organismes officiels.
Gratuit, sans inscription.
Vérifiez n'importe quelle facture Factur-X, Peppol UBL ou TEIF. EN 16931 · Peppol BIS 3.0 · FNFE-MPE complets + correction IA bêta.
Tester maintenant →Create your first compliant invoice directly in your browser. No credit card required. 30-day free trial.
For businesses without ERP. Create compliant invoices directly from your browser.
Built-in FAQ + optional Claude/OpenAI integration.
FR, EN, AR, DE, ES, IT, PT, TR, HR, DA, NO, RO — with full Arabic RTL support.
Never lose work. Drafts auto-save every 30 seconds.
Send invoices by email directly from the portal.
Invite team members with role-based access control.
Revenue tracking, document stats, activity overview.
30 days free. No credit card required.
Factur-X, Peppol UBL, QR ZATCA. Your brand. Our compliance engine.
B2B invoice with Factur-X/ZUGFeRD, IBAN, payment terms, QR ZATCA.
Linked to original invoice. Full compliance trail and audit chain.
Professional quote with acceptance workflow. Auto-convert to invoice.
Deterministic engine. No hallucinations. No latency.
Detects incorrect VAT rates before sealing.
Line items = subtotal = total. Always.
Validates Factur-X / NF525 format before delivery.
POST /v1/documents/validate
{
"valid": true,
"checksRun": 10,
"checksPassed": 10,
"validationTimeMs": 47,
"checks": [
{ "code": "VAT_COHERENCE", "passed": true },
{ "code": "TOTAL_MATCH", "passed": true },
{ "code": "COMPLIANCE_NF525", "passed": true }
]
}
You're not a compliance expert. You don't need to be.
Generate EU-compliant hybrid invoices with one API call. PDF/A-3 + CII XML embedded. ZUGFeRD 2.4 compatible.
All French businesses must receive e-invoices by Sept 2026. Doxnex generates Factur-X that any PDP can process.
Sequential numbering + SHA-256 hash chain for POS receipts. French fiscal compliance built-in.
Peppol BIS Billing 3.0 UBL format aligned with Oman's Fawtara program (OM PINT draft v1.0). PDF + UBL XML. Transmission via OTA-accredited ASP partner — integration in progress (Aug 2026).
Autocomplete addresses from 26M BAN entries. Validate SIRET against 16.8M SIRENE records. Always up to date.
Start free. Upgrade as you grow.
Documents illimités · utilisateurs illimités · déploiement privé · white-label · accompagnement projet.
Nous contacter →Tous les plans incluent un essai gratuit de 30 jours. Aucune carte requise pour démarrer. Tarification mensuelle, résiliable en ligne en 3 clics conformément au Code de la consommation (art. L242-1, Décret 2023-182).
All plans include: SSL, CDN, EU hosting, Factur-X + Peppol compliance
OpenAPI 3.1 · REST API · Full Documentation
curl -X POST https://api.doxnex.io/api/v1/documents/generate \
-H "X-Doxnex-Api-Key: dx_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"template": "receipt-premium",
"type": "receipt",
"locale": "fr-FR",
"data": {
"store_name": "Boulangerie Dupont",
"items": [{ "name": "Baguette", "quantity": 2, "unit_price": 1.30, "total": 2.60 }],
"total_ttc": 2.60
}
}'
import requests
response = requests.post(
"https://api.doxnex.io/api/v1/documents/generate",
headers={
"X-Doxnex-Api-Key": "dx_live_your_key",
"Content-Type": "application/json"
},
json={
"template": "receipt-premium",
"type": "receipt",
"locale": "fr-FR",
"data": {
"store_name": "Boulangerie Dupont",
"items": [{"name": "Baguette", "quantity": 2, "unit_price": 1.30, "total": 2.60}],
"total_ttc": 2.60
}
}
)
print(response.json())
const response = await fetch(
"https://api.doxnex.io/api/v1/documents/generate",
{
method: "POST",
headers: {
"X-Doxnex-Api-Key": "dx_live_your_key",
"Content-Type": "application/json"
},
body: JSON.stringify({
template: "receipt-premium",
type: "receipt",
locale: "fr-FR",
data: {
store_name: "Boulangerie Dupont",
items: [{ name: "Baguette", quantity: 2, unit_price: 1.30, total: 2.60 }],
total_ttc: 2.60
}
})
}
);
const result = await response.json();
console.log(result);
HttpClient client = HttpClient.newHttpClient();
String body = """
{ "template": "receipt-premium", "type": "receipt",
"locale": "fr-FR", "data": {
"store_name": "Boulangerie Dupont",
"items": [{"name":"Baguette","quantity":2,"unit_price":1.30,"total":2.60}],
"total_ttc": 2.60 }}""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.doxnex.io/api/v1/documents/generate"))
.header("X-Doxnex-Api-Key", "dx_live_your_key")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());