E-Invoice to SPV.
Automatically.
Guaranteed ANAF compliance. Every invoice is checked against ~2,500 rules before sending and goes to the Private Virtual Space automatically, on your company's behalf. See live where it is. No manual steps.
- Issued 10:42:03
- Checked locally 10:42:04
- Sent to SPV 10:42:05
- Validated by ANAF 10:49:31
E-Invoice is not optional
Since 2024, all B2B transactions in Romania must be reported electronically to ANAF. Non-compliance carries substantial fines.
How it works
4 steps. The last 3 happen automatically.
Issue the invoice
Fill in client details (auto-fill from database) and add product or service lines. VAT calculated automatically.
Billyou checks it
The invoice is generated in the format ANAF requires and checked automatically before sending. It is sent on your company's behalf, under the ANAF authorisation obtained with your digital certificate.
Sent to SPV
The invoice goes to the Private Virtual Space right away or at the interval you choose. The ANAF registration number (index) shows right on the invoice.
Automatic confirmation
Status is tracked automatically and you see as soon as ANAF validates it. The invoice also lands in your client's SPV, and ANAF returns it electronically signed.
Always know where your invoice is
From sending to confirmation.
Live status
A card shows you where every invoice is: sent, being processed by ANAF, accepted or rejected. Status updates automatically.
Rejection reasons in plain language
ANAF answers in codes. Billyou tells you in Romanian or English what is wrong and what to fix.
Automatic resend
When ANAF's SPV is down, you don't have to come back. Billyou retries automatically, never files the same invoice twice and tells you if it can't get through.
Email on rejection
If ANAF rejects an invoice, you get an email right away, not a call from your accountant a month later.
Locked while ANAF has it
You can't accidentally edit an invoice that ANAF is still processing.
Clear file names
You download, for example, factura-FB-0042-2026-10-05.pdf, not a string of digits. Easy to find a year from now.
See where your invoice is, at a glance
When it was uploaded to ANAF, when ANAF validated it and its registration number, right on the invoice.
What Billyou checks before and after sending
So the invoice doesn't come back rejected. On every plan, free included.
Checked against ~2,500 rules
Before sending, every invoice is checked against about 2,500 official rules, in parallel with ANAF's own validation. The ~380 most common errors are explained in plain language: what's wrong and how to fix it.
Connect SPV by link
Don't hold the digital certificate yourself? Send a link to whoever does, for example your accountant, and they connect SPV for your company.
Send when you want
Manually or automatically: right away or after 1, 2 or 4 days, set separately for each invoice source.
EU, export and reverse charge
Intra-EU, export and reverse-charge invoices automatically get the correct VAT rate and notes. Cash-accounting VAT (TVA la incasare) adds its mandatory note to the e-Factura.
Rejected? Fix it
A rejected invoice stays editable, and the rejection email reminds you of the 5-working-day deadline. An invoice ANAF accepted is corrected with a storno.
// Send E-Invoice with Billyou SDK
const receipt = await billyou.efactura.send({
invoiceId: 'inv_abc123',
recipient: {
cui: 'RO12345678',
name: 'Acme Solutions SRL',
},
});
// receipt.spvId - ANAF registration number
// receipt.status - 'confirmed' | 'pending' | 'error'
// receipt.processingTime - milliseconds Technical integration
Billyou generates the correct e-Factura file automatically and checks it before sending. You never see any XML.
Invoices are sent to SPV on your company's behalf, under the ANAF authorisation obtained with your digital certificate. ANAF returns the validated invoice, electronically signed.
You connect to ANAF once. The connection renews itself; when ANAF asks for a new login, reconnecting takes seconds.
Get notified on every status change: sent, validated, rejected. Automatic resend when ANAF is unavailable.