Doxnex User Guide

Everything you need to create, send and receive invoices compliant with French and European standards.

10 chapters Updated April 2026 Ready for September 2026

1 Getting started

1.1 Create an account

Head to app.doxnex.io and sign in with email (6-digit OTP code) or Google. No password to remember.

Starter plan free forever The Starter plan is free for life: 50 documents per month, 1 user, Factur-X and Peppol UBL formats, 12 languages. No credit card required. You can also try the Pro plan free for 30 days.

1.2 Understanding the dashboard

The dashboard shows your recent activity: document counts by type, monthly trend chart, and shortcuts to common actions (create an invoice, view customers, open settings).

1.3 Configure your company

Go to Settings and fill in:

  • Legal name, SIREN, intra-EU VAT number
  • Full address (used as footer on all documents)
  • Logo (PNG or SVG, 200x80 px recommended)
  • IBAN and BIC for payments
  • Default VAT rates

2 Create your first invoice

2.1 The issuer (you)

If you are a French company, type your name and use the SIRENE auto-complete: Doxnex automatically fetches your legal name, SIREN/SIRET, address and VAT number from the INSEE database.

2.2 The recipient

Search an existing customer or use SIRENE auto-complete for new French customers. For foreign customers, enter the information manually.

2.3 Add line items

Click Add line. For each line:

  • Description (and optional product reference)
  • Quantity and unit price excluding VAT
  • VAT rate (0%, 5.5%, 10%, 20% in France)
  • Optional discount as a percentage

Subtotal, VAT and grand total are computed in real time.

2.4 Choose the payment method

Select: bank transfer, direct debit, card, cheque or cash. Doxnex displays your bank details on the invoice when you pick bank transfer.

2.5 Real-time preview

The split view shows the form on the left and the live PDF preview on the right. Every change is reflected in under 2 seconds thanks to smart debouncing.

2.6 Generate the PDF

Click Generate. Doxnex produces:

  • A PDF/A-3 (archivable for 10 years)
  • An embedded Factur-X CII XML file
  • A SHA-256 hash per document (proof of integrity)

3 Document types

Code 380
Standard invoice for goods or services sales.
Code 381
Credit note to cancel or refund an invoice already issued.
Code 325
Quote, a commercial proposal awaiting customer acceptance.
Conversion
An accepted quote can be converted to an invoice in one click.

4 Regulatory compliance

4.1 Factur-X (France and EU)

Doxnex is FNFE-MPE certified at the BASIC profile. Every invoice embeds a human-readable PDF plus an EN 16931-compliant CII XML readable by accounting machines.

4.2 Peppol UBL (international, Oman)

For customers outside the EU, Doxnex generates a Peppol UBL BIS 3.0 file validated by peppolvalidator.com. Verified for Oman (0% VAT, OMR currency).

4.3 Mandatory mentions September 2026

Starting September 1st 2026, French B2B invoices must include:

  • Operation category: goods delivery, service or mixed
  • VAT on debits option, where applicable
  • Delivery address if different from the billing address
  • Seller AND buyer SIREN (9 digits)

Doxnex offers a "France compliance" panel that shows automatically whenever you invoice in French or for a French customer.

4.4 ZATCA QR Code

For Saudi Arabia operations, Doxnex automatically stamps a TLV QR code compliant with ZATCA Phase 1.

5 Send and receive

5.1 Send by email

From an invoice page, click Send by email. Doxnex uses a responsive HTML email with your logo and the PDF attached (Brevo SMTP).

5.2 Submit to the Approved Platform

Starting September 2026, French B2B invoices must transit through an Approved Platform. Doxnex connects to B2Brouter: one click submits an invoice, tracks its status (sent, received, accepted, paid) and retrieves the archiving proof.

5.3 Receive invoices (inbox)

The new Inbox page lists every invoice sent to your company via the Approved Platform. Filter by status, download the original XML, accept, reject or mark as paid.

Open the inbox

5.4 Public payment page

Each invoice has a public URL https://app.doxnex.io/invoice/{viewId} with PDF preview, download and a Stripe payment button for your customers.

6 Reminders and payment

6.1 Automatic reminders

Doxnex automatically sends three reminders for each unpaid invoice:

  • D+7: friendly tone, "you may have missed this"
  • D+15: firm tone, reminder of terms
  • D+30: formal tone, mention of late-payment penalties (Art. L441-10 French Commercial Code)

The scheduler runs every day at 9am. Idempotent: no duplicate reminders.

6.2 Mark as paid

On an invoice page, click Mark as paid and enter the payment date. Reminders stop and your DSO statistics are updated.

6.3 Online quote signature

Your customers can accept a quote directly on the public page /quote/{viewId}/accept. The electronic signature stores name, email, IP, timestamp and SHA-256 hash. The quote status turns to "accepted" automatically.

7 Reports and exports

7.1 Statistics

The Reports page shows:

  • Revenue total and by month
  • VAT collected by currency and rate
  • DSO (Days Sales Outstanding): average payment delay
  • Top customers by revenue

7.2 FEC export

The Fichier des Ecritures Comptables is mandatory in a French tax audit (Art. A. 47 A-1 LPF). Doxnex generates a text file in the DGFiP standard format (18 pipe-separated columns).

JournalCode|JournalLib|EcritureNum|EcritureDate|CompteNum|...
VEN|Sales|F-2026-001|20260403|411000|CUSTOMER DUPONT|D|1200.00|0|...

7.3 CSV export

For Excel analytics, export all your documents in CSV from the Export page.

8 Settings

My company
Name, SIREN, address, logo, legal footer mentions.
VAT
Default rates, flat-rate scheme, exemption, reverse charge.
Billing
Numbering prefixes (INV-, CRN-, QT-), IBAN, BIC, payment terms.
Subscription
Current plan, invoices, plan changes, Stripe management.
API keys
Create and revoke keys. Header X-Doxnex-Api-Key.
AI integrations
BYOK Claude / OpenAI or free FAQ mode. Contextual assistant.
Team
Invite members (roles: OWNER, ADMIN, MEMBER, VIEWER).
Approved Platform
Connect your B2Brouter account (API key + account identifier).

9 Invoice validator

The free validator is available to everyone, without an account, at doxnex.io/validate. It accepts:

  • Factur-X files (PDF/A-3 + CII XML)
  • Plain UBL XML files
  • Peppol BIS 3.0 documents

The report shows:

  • EN 16931 compliance (green / red)
  • Detected profile (BASIC, EN16931, EXTENDED, MINIMUM)
  • Errors and warnings line by line
  • AI-powered correction suggestions (in connected mode)
Try the validator

10 Developer API

10.1 Authentication

Every request carries the header X-Doxnex-Api-Key: dx_live_.... Generate your key in Settings > API keys.

10.2 Generate a document

POST https://api.doxnex.io/api/v1/documents
X-Doxnex-Api-Key: dx_live_xxxxx
Content-Type: application/json

{
  "document_type": "invoice",
  "compliance": "factur-x-basic",
  "issuer": { "name": "Acme Ltd", "siren": "123456789", ... },
  "recipient": { "name": "Client Ltd", "siren": "987654321", ... },
  "lines": [
    { "description": "Consulting", "quantity": 1, "unit_price": 1000, "vat_rate": 20 }
  ]
}

10.3 List documents

GET /api/v1/documents?type=invoice&status=paid&page=0&size=20

10.4 Webhooks

Register an endpoint to receive document.created, document.paid, quote.signed events. Every payload is signed with HMAC SHA-256.

MethodEndpointDescription
POST/api/v1/webhooksRegister an endpoint
GET/api/v1/webhooksList endpoints
POST/api/v1/inbound/b2brouterInbound AP (HMAC signature)

10.5 Error codes

CodeMeaning
401Missing or invalid API key
403Quota exceeded or forbidden resource
404Unknown document
422Validation failed (see errors field)
429Too many requests
Full API documentation