Use cases
B2C flow implementation (buyer_is_individual + BR-CO-26)
Invoice an individual without SIRET or VAT number
To invoice a final consumer (B2C), Scell.io automatically applies the EN 16931 BR-CO-26 rule when you pass `buyer_is_individual: true` in the payload. This rule makes BT-46 (BuyerLegalOrganisation), BT-47 (BuyerTaxIdentifier) and BT-48 (BuyerVATIdentifier) optional. Without it, the CII XML would be rejected by EN16931 validators since an individual buyer legally has neither SIREN nor intra-EU VAT. Required B2C fields: `first_name`, `last_name`, `address` (street, postcode, city, country). Email recommended for PDF delivery. The PDF displays `Individual` instead of a company name.
Key facts
- `buyer_is_individual: true` activates BR-CO-26
- BT-46, BT-47, BT-48 become optional
- Required fields: `first_name`, `last_name`, `address`
- Email recommended (not required) for PDF delivery
- PDF displays `Individual` instead of a company name
- CII XML remains EN16931-valid
Code example
import { ScellClient } from '@scell/sdk';
const scell = new ScellClient({ apiKey: process.env.SCELL_SECRET_KEY! });
const invoice = await scell.invoices.create({
format: 'factur-x',
buyer_is_individual: true, // Active BR-CO-26 (skip SIREN/TVA)
buyer: {
first_name: 'Jean',
last_name: 'Dupont',
email: 'jean.dupont@example.com',
address: {
street: '12 rue de la Paix',
postal_code: '75002',
city: 'Paris',
country_code: 'FR',
},
},
lines: [
{ description: 'Coaching sportif (10 séances)', quantity: 10, unit_price: 60.00, vat_rate: 20 },
],
});