Skip to main content

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 },
  ],
});

See also

Your cookie preferences

We use cookies to improve your experience. Essential cookies are always active. Cookie policy.