Attachments

Use attachments when the invoice needs extra documents. Typical cases are timesheets, specifications, or signed agreements.

Supported formats

  • PDF

  • excel and csv for b2b and peppol invoices

How to send attachments

You can send multiple attachments. Add them under dataset.attachment.

Option A: Send file content (attachmentfile)

Use this when the attachment is unique per invoice.

{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Service", "count": "1", "amount": "100.00", "taxpr": "24" }
        ],
        "attachment": [
          {
            "attachmentname": "specification.pdf",
            "attachmentfile": "<base64-encoded-file>"
          }
        ]
      }
    ]
  }
}

Option B: Reference a pre-uploaded file (attachmentid)

Use this when the same attachment is reused across many invoices.

Practical constraints

  • Keep margins at least 2 cm in PDF files.

  • Keep attachments short. Overlong letters can delay delivery.

  • Size of pdf-file containing invoice and attachments is not should not go over one megabyte (1 MB) if invoice is delivered as an e-invoice (b2c, b2b, PEPPOL, Omaposti, Kivra, email)

  • Attachment files cannot contain any references to outer resources like links to web-pages or to other documents. Attachment editing or saving it to other formats cannot be blocked.

  • If you need many files, consider ZIP uploads.

Last updated

Was this helpful?