ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Invoice — Care invoice

Invoice issued by a care provider. Covers patient invoicing (discharge), inter-facility (transfer) or pharmacy/lab (B2B).

Purpose

Invoice carries the detail of a health-care invoice. Linked to ChargeItem (line items), Patient/Organization (beneficiary), Coverage (applicable insurance). VAT calculation, discounts and pricing rules are carried by priceComponent.

Key fields

FieldTypeCardinalityRole
statuscode1..1draft, issued, balanced, cancelled, entered-in-error.
identifierIdentifier[]0..*External identifiers.
typeCodeableConcept0..1Invoice type / context.
subjectReference(Patient | Group)0..1Patient subject.
recipientReference(Organization | Patient | RelatedPerson)0..1Invoice recipient (often same as subject).
datedateTime0..1Invoice date.
issuerReference(Organization)0..1Issuing organisation.
lineItemBackboneElement[]0..*Detail lines (item + price components).
totalNetMoney0..1Net total (pre-tax).
totalGrossMoney0..1Gross total (incl. tax).

JSON example

$75 invoice for an outpatient consultation:

json invoice-example.json
{
  "resourceType": "Invoice",
  "id": "example",
  "identifier": [{ "system": "http://example.org/invoices", "value": "INV-2026-0001" }],
  "status": "issued",
  "type": { "text": "Outpatient consultation" },
  "subject": { "reference": "Patient/example" },
  "recipient": { "reference": "Patient/example" },
  "date": "2026-05-16",
  "issuer": { "reference": "Organization/clinic-orsay" },
  "lineItem": [{
    "sequence": 1,
    "chargeItemReference": { "reference": "ChargeItem/example" },
    "priceComponent": [{
      "type": "base",
      "amount": { "value": 75.00, "currency": "EUR" }
    }]
  }],
  "totalNet": { "value": 75.00, "currency": "EUR" },
  "totalGross": { "value": 75.00, "currency": "EUR" }
}

Common pitfalls

  • totalGross ≠ Σ(lineItem): open inconsistency. Always compute downstream.
  • Coverage not linked: no insurance/patient split — the EOB cannot be chained.
  • currency missing: server default applies, but avoid in cross-border use.
  • ChargeItem — Billable line items.
  • Account — Patient account aggregating Invoices.
  • Coverage — Applicable insurance.
  • ExplanationOfBenefit — Coverage detail.