Skip to content

Invoicing across locations — one company or many?

The rule: pick the issuing mode at group creation. Invoices snapshot the legal entity at the moment of issue — historic invoices stay immutable forever, even when you edit the registration later.

Italian (and most European) law cares deeply about who is issuing an invoice. Every invoice carries a legal name, a tax ID, an address, a branch code. Two restaurants owned by the same company invoice as one entity, with one shared invoice number sequence. Two restaurants owned by two separate companies invoice independently, each with their own sequence.

The system asks the group at creation: are you one company, or many?

What it does

Two shapes, both first-class:

Single company across every location

Most owner-operated chains land here. io osteria centrale and io osteria nord are both owned by Io Osteria S.R.L. You file one VAT return, one fiscal declaration. The invoices say:

Io Osteria S.R.L. — Partita IVA IT12345678901 — Branch 01 (centrale) Invoice FA-2026-01-0042

The invoice number sequence is company-wide: FA-2026-01-0042 at centrale is followed by FA-2026-02-0043 at nord. The 01 and 02 are branch codes that identify which location issued; the -0042 and -0043 are the running company-wide count, which the law requires to be gapless.

Each location independent

Franchise or federated groups land here. Centrale belongs to Io Osteria S.R.L. and nord belongs to Nord Hospitality S.R.L. — they’re under the same group for the brand benefit (shared recipes, shared menu) but each is its own legal entity. Each location runs its own invoice counter, its own VAT filing, its own SDI registration.

Io Osteria S.R.L. — Partita IVA IT12345678901 Invoice FA-2026-0042

Nord Hospitality S.R.L. — Partita IVA IT98765432109 Invoice FA-2026-0017

No shared sequence. Cross-location stock movements (see [[inter-venue-stock]]) are sales between two legal entities and need an invoice.

How to use it

At group creation

When the platform team registers your group, they pick the issuing mode and (for single mode) enter the group’s tax registration: legal name, partita IVA, codice fiscale, SDI code, PEC email, fiscal regime, registered address. They cannot leave any of those fields blank in single mode — the system refuses to issue invoices until the registration is complete.

For per-venue mode, the tax registration lives on each venue separately. Same fields, just at a different level.

When issuing an invoice

Whether it’s a POS tax invoice or an event-booking invoice, the system:

  1. Reads the issuing entity from the right level (group in single mode, venue in per-venue mode).
  2. Snapshots the entity onto the new invoice row — legal name, tax ID, address, branch code.
  3. Allocates the next number from the right counter (shared in single mode, per-venue in per-venue mode).
  4. Renders the printable number (“FA-2026-01-0042” with branch code in single mode, “FA-2026-0042” without).
  5. Files the invoice for downstream accounting sync.

The snapshot means even if you later edit the legal address or change the SDI code, every previously-issued invoice on file still shows what was true at the moment it was issued. Auditors compare the printed PDF against the database row; the system never alters either after the fact.

Italian fiscal fields

For Italian venues (jurisdiction: "IT"), the tax registration includes the legally-required fields:

  • Partita IVA (11 digits with Luhn checksum)
  • Codice fiscale (16 characters; needed on some private-customer invoices)
  • SDI code (6 characters, OR "0000000" if you route via PEC)
  • PEC email (certified email; required for B2B routing when SDI code is the fallback)
  • Regime fiscale (ordinario, forfettario, or semplificato)

These are validated when you save the registration — the platform team can’t ship an invalid partita IVA, which would bounce at the tax authority.

Note on FatturaPA submission: the actual XML generation and direct SDI submission still flow through the existing accounting integration in this release. The fields above land in the database; the accountant’s tool reads them. Direct submission from the platform itself is a follow-up project (roughly 4–6 weeks of work once we have a beta venue ready to validate it).

Cross-border buyers (Italy)

When an Italian seller invoices a buyer in a different EU country (e.g. a German company catering an event in Italy), VAT is reverse-charged — the buyer pays VAT in their country, the seller invoices at 0%. The Italy preset handles this automatically once the buyer’s billing profile carries a non-IT country code.

Try this on your own data

  1. Open Settings → Group → Invoicing (super-admin only in v1).
  2. Inspect the legal entity and confirm every required field is filled.
  3. Issue a small test POS tax invoice. Confirm the seller block matches the legal entity, the number format includes the branch code (if single mode), and the PDF renders with both languages.
  4. Edit the legal address on the group. Reissue another test invoice. Verify the OLD invoice’s PDF still shows the OLD address.