# How to attach a PDF to a Peppol invoice (BG-24)

> How to attach a PDF, timesheet or spreadsheet to a Peppol e-invoice: allowed file types, the exact UBL, and the rules that reject attachments.

- Canonical URL: https://einvoices.uk/news/invoice-attachments-peppol
- Published: 20 October 2026 (2026-10-20)
- Last updated: 20 October 2026 (2026-10-20) (not updated since publication)
- Author: Floris Lindenaar, Editor, e-invoicing expert (https://einvoices.uk/authors/floris-lindenaar)
- Publisher: einvoices.uk (https://einvoices.uk)
- Type: Guide
- Topics: Peppol, Technical, Validation, Finance teams
- Language: en-GB (UK English); covers the United Kingdom

## Sources

- [Peppol BIS Billing 3.0 (May 2026 release, version 3.0.21), 7.2.10 Binary objects](https://docs.peppol.eu/poacc/billing/3.0/bis/)
- [Mime code (subset of IANA code list) – Peppol BIS Billing 3.0](https://docs.peppol.eu/poacc/billing/3.0/codelist/MimeCode/)
- [EN16931 model bound to UBL – Peppol BIS Billing 3.0 rules](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Rules for Peppol BIS 3.0 Billing](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Electronic invoicing (VAT Notice 700/63) – GOV.UK](https://www.gov.uk/guidance/electronic-invoicing-notice-70063)

---

To attach a PDF to a Peppol invoice, add a `cac:AdditionalDocumentReference` with an ID, and inside it a `cac:Attachment/cbc:EmbeddedDocumentBinaryObject` holding the Base64-encoded file, with `mimeCode="application/pdf"` and a `filename`. Peppol allows only six file types: PDF, PNG, JPEG, CSV, XLSX and ODS. The attachment travels with the invoice. It does not replace the structured data.

## The business terms

Attachments sit in **BG-24 Additional supporting documents**, which can repeat:

| Business term | UBL | Required? |
|---|---|---|
| BT-122 Supporting document reference | `cac:AdditionalDocumentReference/cbc:ID` | Yes, for each BG-24 |
| BT-123 Supporting document description | `cbc:DocumentDescription` | Optional (max once) |
| BT-124 External document location | `cac:Attachment/cac:ExternalReference/cbc:URI` | Optional |
| BT-125 Attached document | `cac:Attachment/cbc:EmbeddedDocumentBinaryObject` | Optional |
| BT-125-1 Attached document MIME code | `@mimeCode` | Yes, if BT-125 is used |
| BT-125-2 Attached document filename | `@filename` | Yes, if BT-125 is used |

Peppol says: "Attachments shall be transmitted together with the Invoice. The binary object has two supplementary components: a Mime Code … and a Filename." And on the receiving side: "A receiver of an invoice or credit note, shall accept and process attachments that are according to the code list Media type code of attached document."

## Allowed file types

The Peppol MIME code list (a subset of IANA) contains exactly:

| File | mimeCode |
|---|---|
| PDF | `application/pdf` |
| PNG image | `image/png` |
| JPEG image | `image/jpeg` |
| CSV | `text/csv` |
| Excel | `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` |
| OpenDocument spreadsheet | `application/vnd.oasis.opendocument.spreadsheet` |

Word documents, ZIP files, emails and XML files are not on the list.

## Embedding a PDF: correct UBL

```xml
<cac:AdditionalDocumentReference>
  <cbc:ID>TS-2026-09</cbc:ID>
  <cbc:DocumentDescription>Timesheet September 2026</cbc:DocumentDescription>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf"
        filename="timesheet-2026-09.pdf">JVBERi0xLjQKJcfsj6IK...</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
```

The element content is the file's bytes as plain Base64, without a `data:` prefix. In a UBL invoice, `cac:AdditionalDocumentReference` sits after `cac:ContractDocumentReference` (if present) and before `cac:ProjectReference` and `cac:AccountingSupplierParty`. Repeat the whole block for each file.

We validated an invoice containing this block (with a small Base64-encoded PDF) against the UBL 2.1 schema, the EN 16931 rules and the Peppol rules, with no errors.

## Linking instead of embedding

You can point to a file instead of embedding it:

```xml
<cac:AdditionalDocumentReference>
  <cbc:ID>DN-5531</cbc:ID>
  <cbc:DocumentDescription>Signed delivery note</cbc:DocumentDescription>
  <cac:Attachment>
    <cac:ExternalReference>
      <cbc:URI>https://files.example.co.uk/dn/5531.pdf</cbc:URI>
    </cac:ExternalReference>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
```

This validates, but think about the receiver. Links expire, need log-ins, or get blocked by security tools, and the buyer has to keep the document for their own records. Embedding is more reliable for anything the buyer needs to approve the invoice.

## The errors

We triggered each of these by changing one thing in the valid example above:

**Wrong file type.** `mimeCode="application/msword"` fails two rules:

```text
PEPPOL-EN16931-CL001  Mime code must be according to subset of IANA code list.
[BR-CL-24]-For Mime code in attribute use MIMEMediaType.
```

Fix: convert to PDF.

**No filename.** Leaving out `filename` fails:

```text
[UBL-DT-07]-Binary object elements shall contain the file name attribute
```

**No ID.** Dropping `cbc:ID` fails the UBL schema (the element is mandatory) and EN 16931:

```text
[BR-52]-Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).
```

**Mixing an invoiced object and an attachment.** `cac:AdditionalDocumentReference` with `cbc:DocumentTypeCode` 130 is used for an "invoiced object identifier", such as a meter or subscription number. **UBL-CR-666** says: "A UBL invoice shall not include an AdditionalDocumentReference simultaneously referring an Invoice Object Identifier and an Attachment". Use separate blocks.

**Two descriptions.** **UBL-SR-33**: "Supporting document description shall occur maximum once".

## Size

Peppol BIS Billing 3.0 does not set a size limit for attachments, and we found no limit in the Peppol AS4 specification. Base64 encoding makes files about a third bigger. Access Points and receiving systems can impose their own limits, so compress scans and check with your provider before sending large drawings or photo sets.

## Is the PDF the invoice?

No. In Peppol the structured XML is the invoice. Totals, VAT and references are read from the XML, and an attached PDF is supporting material. Attaching a PDF rendering of the invoice itself is common, so that people can see a familiar layout. Keep in mind:

- If the PDF and the XML disagree, the buyer's system will process the XML. Generate both from the same data.
- HMRC's VAT Notice 700/63 warns against "running a dual system" of electronic and paper invoices for the same supplies outside a controlled trial, and says that once a trial ends "the electronic invoice then becomes the legal document for VAT purposes". How HMRC will treat a PDF copy attached to a mandated e-invoice from 2029 is **not yet confirmed**. Labelling the PDF as a copy or visual rendering is a sensible precaution.

For more on why a PDF on its own does not count, see [does a PDF invoice count as an e-invoice?](https://einvoices.uk/news/does-a-pdf-invoice-count-as-an-e-invoice).

## What may change for the UK

These rules are Peppol BIS Billing 3.0 (May 2026 release). The government's consultation response records calls for "provision for attaching accompanying documents" and says its technical work will consider "extensions to the standardised invoice to accommodate sector specific needs". Whether the UK specification changes the allowed file types or adds limits is **not yet confirmed**.

## What to do now

- Agree with key customers which documents they need (timesheets, proof of delivery, statements) and send them as attachments, not separate emails.
- Convert Word and email documents to PDF before attaching.
- Make sure your AP system shows attachments to approvers. Peppol says receivers "shall accept and process" allowed attachments.
- See the full [UK Peppol invoice XML example](https://einvoices.uk/news/e-invoice-xml-example-uk).

## Frequently asked questions

### Can I attach a PDF to a Peppol invoice?

Yes. Embed it, Base64-encoded, in cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject with mimeCode="application/pdf" and a filename. The reference needs an ID.

### Which file types can be attached to a Peppol invoice?

PDF, PNG, JPEG, CSV, Excel (XLSX) and OpenDocument spreadsheet (ODS). Anything else, such as Word or ZIP, fails rule PEPPOL-EN16931-CL001.

### Is the attached PDF the legal invoice?

The structured XML is the e-invoice. An attached PDF is supporting material. How HMRC will treat PDF copies under the 2029 mandate is not yet confirmed.

### Is there a size limit for Peppol attachments?

Peppol BIS Billing 3.0 does not set one. Your Access Point or the receiver may impose limits, so check with your provider before sending large files.

---

How to cite: "How to attach a PDF to a Peppol invoice (BG-24)", einvoices.uk, 20 October 2026, https://einvoices.uk/news/invoice-attachments-peppol

einvoices.uk is an independent publication and is not affiliated with HMRC or the UK Government. Nothing here is tax advice; check the sources and official GOV.UK guidance before acting.
