Skip to main content

Create Swiss QR Bill in n8n

What this node does

PDF4me, Create Swiss QR Bill generates fully compliant Swiss QR payment slips embedded in PDF documents through your n8n automation workflow. Provide a PDF invoice via binary data, base64, URL, or no background document at all, the node outputs a standardized Swiss QR bill with creditor and debtor details, IBAN, reference numbers, multi-language labels, and configurable output formats in a single automated step. Fully compatible with all Swiss banks, PostFinance, and the Swiss Payment Standards (SPS) specification.

Related Blog Posts(3)
Create Swiss QR Bill in n8n: Two Complete Workflows (With and Without an Existing PDF)
Step-by-step n8n guide to generating Swiss QR Bills using PDF4me and Dropbox. Covers two scenarios: overlaying a QR slip onto an existing PDF (4 nodes) and generating a standalone QR bill from scratch without any input PDF (3 nodes). Includes real screenshots and exact parameter values.
Read post
Word, Swiss QR Bill, and a Base PDF. n8n Merges Them Into One. Six Nodes, Done!
n8n workflow: download Word from Dropbox, convert to PDF, create Swiss QR Bill with PDF4me, download base PDF, merge as overlay, upload result. Step-by-step with screenshots and proper image meta tags.
Read post
Swiss QR Invoice PDFs: Rename by Creditor, Amount, or Reference in n8n !
Rename PDFs in n8n using Swiss QR code data: extract creditor name, city, country, amount, or payment reference from Swiss QR bills and save each file with that value as its name. Perfect for invoices and payment reconciliation.
Read post

Authenticating Your API Request

Every PDF4me node in n8n requires a valid Credential to connect with. Create or select one that holds your PDF4me API key so the workflow can authenticate Swiss QR bill generation requests securely.

Important Facts You Should Not Miss

Swiss bank IBAN is mandatory, the format is strictly validated
The IBAN field must be a valid Swiss IBAN beginning with CH followed by 19 digits. An invalid IBAN causes the node to return an error and halt the workflow. Always validate the IBAN format before passing it to the node, especially when mapping it dynamically from a database or form input.
Use Input Data Type None to generate a standalone QR bill without a background PDF
Setting Input Data Type to None creates a clean, self-contained Swiss QR bill slip with no background invoice document. This is the correct option for payment reminders, subscription overdue notices, and any workflow where no underlying PDF has been produced. The output is a ready-to-send QR bill in your chosen Format Type.
Structured address type is required for automated bank reconciliation
Both Creditor and Ultimate Debtor offer Structured or Combined address types. Structured stores components separately, street, number, postal code, city, and is mandatory when the QR bill will be processed by automated Swiss banking systems or payment reconciliation software. Always use Structured unless you have a specific reason to use Combined.
Create Swiss QR Bill n8n node top section showing Credential to connect with PDF4ME account dev, Resource Invoice, Invoice Operations Create SwissQR Bill, Input Data Type Binary Data, and payment fields Amount, Currency Swiss Franc, IBAN, Creditor Name, Creditor Address Type Structured

Top panel, connection, input type, payment details, and creditor address fields

Create Swiss QR Bill n8n node bottom section showing Creditor Postal Code 8000, Creditor City Zurich, Ultimate Debtor Name Test Debt AG, Ultimate Debtor Address Type Structured, address lines, Reference Type No Reference, Language Type English, Separator Line With Scissor, Format Type PDF, Paging Options First, Output File Name swissqr_bill.pdf, Output Binary Field Name data, and Advanced Options

Bottom panel, debtor address, reference type, language, format, paging, and output configuration

Parameters

Required in the n8n UI: Credential to connect with, Input Data Type, Amount, Currency, IBAN, Creditor Name, Creditor Address Type, Ultimate Debtor Address Type, Reference Type, Language Type, Separator Line, Format Type, and (when Format Type is PDF) Paging Options. All address line, postal code, and city fields are marked optional in the UI but are strongly recommended for valid Swiss QR bills, the Swiss Payment Standards specification and the PDF4me API treat them as effectively required for production use. The execute payload always sends them (as empty strings if blank).

ParameterRequiredWhat it doesExample
Input Data TypeConditionalHow the source PDF is supplied. None generates a standalone QR bill with no background document. Binary Data reads from a previous n8n node: the most common option. Base64 String accepts encoded file content. URL downloads from a public link.Binary Data
Binary Property NameConditionalName of the binary field from the previous node. Required when Input Data Type is Binary Data. Maps to the output binary field of a prior download or file node.data
Base64 ContentConditionalBase64-encoded PDF content. Required when Input Data Type is Base64 String.JVBERi0xLjQK...
File URLConditionalPublic URL to the source PDF file. Required when Input Data Type is URL.https://example.com/invoice.pdf
File NameConditionalFilename of the source PDF input. Shown only when Input Data Type is Binary Data, Base64 String, or URL: hidden for None. Include the .pdf extension.document.pdf
AmountYesPayment amount for the Swiss QR bill. Enter without leading zeroes (per the node field description). Must be a positive number with up to two decimal places.1000
CurrencyYesCurrency for the QR bill. Only two options accepted: CHF (Swiss Franc, standard for domestic Swiss payments) or EUR (cross-border transactions).CHF
IBANYesCreditor's Swiss IBAN. Must start with CH followed by 19 digits and be linked to a valid PostFinance or Swiss bank account. An invalid IBAN halts the workflow.CH0200700110003765824
Creditor NameYesFull name of the creditor company or individual as registered with the bank. Printed on the generated QR bill in the creditor section.Test AG
Creditor Address TypeYesAddress format for creditor information. Sent as code S (Structured: components stored separately for maximum SPS compliance) or K (Combined, two free-form lines).Structured (S)
Creditor Address Line 1NoStreet name for the creditor's address. Marked optional in the UI but required for valid Swiss QR bills: always provide it. When Address Type is Structured, enter the street name only.Test Strasse
Creditor Address Line 2NoHouse number or secondary address detail. Used as the second address line when Creditor Address Type is Structured.1
Creditor Postal CodeNoSwiss postal code for the creditor's address. Marked optional in the UI but required for valid Swiss QR bills. Must be a 4-digit Swiss postal code matching the creditor city.8000
Creditor CityNoSwiss city name for the creditor's address. Marked optional in the UI but required for valid Swiss QR bills. Must correspond to the postal code entered above.Zurich
Ultimate Debtor NameNoFull name of the party who will pay the bill. Marked optional in the UI but required for valid Swiss QR bills with a known debtor. Appears in the payment section of the printed QR bill.Test Debt AG
Ultimate Debtor Address TypeYesAddress format for the ultimate debtor. Sent as code S (Structured: recommended for automated Swiss banking) or K (Combined, two free-form lines).Structured (S)
Ultimate Debtor Address Line 1NoStreet name for the debtor's address. Marked optional in the UI but required for valid Swiss QR bills with a known debtor.Test Deb Strasse
Ultimate Debtor Address Line 2NoHouse number or secondary address line for the debtor. Used as the second line when Ultimate Debtor Address Type is Structured.2
Ultimate Debtor Postal CodeNoSwiss postal code for the debtor's address. Marked optional in the UI but required for valid Swiss QR bills with a known debtor.8000
Ultimate Debtor CityNoSwiss city name for the debtor's address. Marked optional in the UI but required for valid Swiss QR bills with a known debtor.Zurich
Reference TypeYesSent as code NON (No Reference: simple payments), QRR (QR Reference, 27-digit numeric for PostFinance/Swiss bank reconciliation), or SCOR (Creditor Reference, ISO 11649 for SEPA-compatible cross-border payments).NON
Language TypeYesDisplay language for QR bill labels and printed text. Options: English, German, French, Italian. Choose the language matching the recipient's Swiss region.English
Separator LineYesVisual separator between the invoice body and the QR bill tear-off section. Note the node field name is spelled "seperatorLine". Options: Line With Scissor (Swiss standard), Simple Line, No Line.Line With Scissor
Format TypeYesOutput file format for the generated QR bill. PDF is recommended for print-ready documents. PNG and JPEG for digital delivery. TIFF for archival quality. Empty or null for raw data output.PDF
Paging OptionsConditionalControls where the QR bill slip is placed in the output document. Required when Format Type is PDF. Options: First, Last, Add Page At End, Custom.First
Page NumberConditionalSpecific page index for placing the QR bill. Shown and required only when Format Type is PDF and Paging Options is Custom.3
Output File NameNoFilename for the generated Swiss QR bill document. Default value is provided by the node. Include the extension matching your chosen Format Type.swissqr_bill.pdf
Output Binary Field NameNoName of the binary field in the n8n output that holds the generated QR bill file. Default is data. Used to reference the file in subsequent workflow nodes.data

Advanced Options

All fields inside the Advanced Options collection are optional and provide additional control over the QR bill payload. Add them via Add Option in the node UI.

reference
The actual reference number embedded in the QR code. Required content when Reference Type is QRR (27-digit numeric) or SCOR (ISO 11649 format starting with RF).
unstructuredMessage
Free-form payment note printed on the QR bill, for example "Invoice #2024-100, due 30 Nov". Maximum 140 characters when combined with billingInfo.
billingInfo
Structured billing information per Swiss QR-bill specification, e.g. invoice number, invoice date, VAT details. Maximum 140 characters when combined with unstructuredMessage.
av1
Alternative procedure parameter 1 (AV1). Reserved for future Swiss payment alternative procedures.
av2
Alternative procedure parameter 2 (AV2). Reserved for future Swiss payment alternative procedures.
profiles
Custom PDF4me processing profiles. Apply pre-configured option sets for advanced or specialized QR bill processing.

Input Data Type Options

Choose how the source PDF enters the node. Each option suits a different workflow pattern.

Input Data Type dropdown in n8n PDF4me Create Swiss QR Bill node showing four options: None with description Do not provide an input document, Binary Data highlighted with description Use file from previous node, Base64 String with description Provide file content as base64 encoded string, and URL with description Provide URL to file

Input Data Type dropdown, four options control how the source PDF is supplied to the node

NoneNo background document
Generates a standalone Swiss QR bill slip with no underlying PDF. Use this for payment reminders, subscription notices, or any case where no invoice PDF exists upstream in the workflow.
Binary DataFile from previous node, most common
Reads the PDF binary content directly from the output of a prior n8n node such as Google Drive Download, HTTP Request, or Read Binary File. The Binary Property field specifies which output field to read from (default: data).
Base64 StringBase64-encoded file content
Accepts the PDF as a base64-encoded string. Use this when the file arrives from an API response, a webhook payload, or a database field that stores documents as base64 rather than raw binary.
URLDownload from a public link
Provide a publicly accessible URL to the PDF file. PDF4me downloads the file directly from the URL before processing. The URL must be open and not require authentication to access.

Address Type Options

Applies to both Creditor Address Type and Ultimate Debtor Address Type. Choose how address components are stored in the QR code data.

StructuredRecommended, separate address fields
Stores each address component in its own field: street name in Address Line 1, house number in Address Line 2, postal code, and city separately. This format is required by most Swiss banking systems for automated payment reconciliation and is mandatory for PostFinance processing.
CombinedTwo free-form address lines
Stores the full address as two combined free-form lines, for example, "Test Strasse 1" on line 1 and "8000 Zurich" on line 2. Simpler to populate but less compatible with automated Swiss banking reconciliation systems. Use only when Structured is not feasible.
Creditor Address Type dropdown in n8n Create Swiss QR Bill set to Fixed mode with Structured selected and Combined as the alternative option

Creditor Address Type, Structured vs Combined

Ultimate Debtor Address Type dropdown showing Structured and Combined options with sample Creditor City Zurich and Ultimate Debtor Name Test Debt AG

Ultimate Debtor Address Type, same choice as for the creditor

Reference Type Options

Controls which payment reference standard is embedded in the QR code. This affects how the payment is matched to the invoice in your bank system.

Reference Type dropdown in n8n Create Swiss QR Bill open with No Reference, QR Reference, and Creditor Reference options

Reference Type, No Reference, QR Reference, or Creditor Reference

No ReferenceDefault, no structured reference
No payment reference is embedded in the QR code. Use this for simple one-off payments where reconciliation is handled manually or through an external system. The Unstructured Message field can still be used to add a free-form payment note.
QR Reference27-digit numeric, Swiss bank reconciliation
Embeds a 27-digit numeric reference (similar to the old ESR/ISR reference) in the QR code. This is the standard choice for domestic Swiss QR bills linked to PostFinance or Swiss bank IBANs. Enables fully automated payment reconciliation with your bank statement. Requires a Reference field value to be provided.
Creditor ReferenceISO 11649, cross-border SEPA payments
Embeds an ISO 11649 structured creditor reference in the QR code. Use for SEPA-compatible cross-border payments or when your accounting software requires standardized ISO references. The reference starts with RF followed by a two-digit checksum and up to 21 alphanumeric characters.

Format Type Options

Controls the file format of the generated QR bill output.

Format Type dropdown in n8n Create Swiss QR Bill showing PDF, PNG, JPEG, TIFF, and Empty null output format options

Format Type dropdown, PDF, PNG, JPEG, TIFF, or Empty (null)

PDFDefault, print-ready
Outputs a full-fidelity PDF document ready for printing, emailing, or archiving. The standard choice for invoice workflows.
PNGWeb and digital delivery
Outputs the QR bill as a PNG image. Use for embedding in web pages, customer portals, or digital communication where an image format is required.
JPEGEmail-friendly image
Outputs the QR bill as a compressed JPEG image. Smaller file size than PNG, suitable for inline email embedding or mobile-friendly delivery where file size matters.
TIFFArchival quality
Outputs the QR bill as a high-resolution TIFF image. Use for document management systems, records retention, and archival workflows that require maximum image fidelity.
Empty (null)Raw data output
Returns raw QR bill data without a specific file format wrapper. Use when a downstream system handles format conversion, or when integrating with an API that consumes raw binary data directly.

Paging Options

Controls where the QR bill slip is placed within the output document relative to the existing invoice pages.

Paging Options dropdown in n8n Create Swiss QR Bill open showing First, Last, Add Page At End, and Custom placement choices with Format Type PDF above

Paging Options, First, Last, Add Page At End, or Custom

FirstDefault, QR bill on page 1
Places the Swiss QR bill slip at the beginning of the output document, on the first page. Use when the QR payment section should appear before the invoice details.
LastQR bill on the final page
Places the Swiss QR bill slip on the last page of the existing document. Use when the invoice content should appear first and the payment slip at the end without adding a new page.
Add Page At EndMost common, dedicated QR bill page
Appends a brand new dedicated page containing the Swiss QR bill to the end of the invoice document. This is the most common configuration for Swiss invoice automation, the invoice content is preserved on its own pages and the QR payment slip gets its own clean page.
CustomSpecific page positioning
Enables custom positioning of the QR bill within the document. Use when your invoice template has a reserved space for the QR slip at a specific page or position that is neither first nor last.

Output Fields

FieldTypeWhat it contains
fileNameStringFilename of the generated Swiss QR bill document, for example swissqr_bill.pdf. Map into an upload or email node as the destination filename.
mimeTypeStringMIME type of the output file, for example application/pdf. Useful for content type validation in downstream HTTP or storage nodes.
fileSizeNumberSize of the generated QR bill file in bytes. Useful for storage planning, bandwidth monitoring, and conditional routing in the workflow.
successBooleanTrue when the Swiss QR bill was created successfully. False if an error occurred during generation. Use this field to route error handling branches in your workflow.
messageStringHuman-readable status message confirming success or describing the error encountered. Useful for logging and error notification steps.

Quick Setup

  1. Add PDF4me to your n8n workflow. Set Resource to Invoice and Invoice Operations to Create SwissQR Bill.
  2. In Credential to connect with, select your PDF4me credential or click Create New Credential and paste your API key.
  3. Set Input Data Type: connect the binary output of a previous node (Binary Data), provide a Base64 string, supply a public URL, or select None for a standalone QR slip.
  4. Enter the Amount, Currency (Swiss Franc for CHF payments), and IBAN (valid Swiss CH IBAN starting with CH).
  5. Fill in all Creditor fields: Name, Address Type (Structured is recommended), Address Line 1, Address Line 2, Postal Code, and City.
  6. Fill in all Ultimate Debtor fields with the paying party's full name and address details.
  7. Set Reference Type (No Reference is the default), Language Type (English, German, French, or Italian), and Separator Line (Line With Scissor is the Swiss standard).
  8. Configure Format Type (PDF recommended) and Paging Options (Add Page At End to append a QR bill page to an existing invoice).
  9. Set Output File Name to swissqr_bill.pdf and Output Binary Field Name to data.
  10. Connect the output to your next node: email sender, cloud storage upload, database write, and execute the workflow.

Workflow Examples

Workflow ExamplesCommon n8n workflow patterns using Create Swiss QR Bill.
Monthly invoice batch → Swiss QR Bill → email to customers
  1. A Schedule Trigger fires on the first of every month to start the billing run.
  2. A Google Drive node lists all invoice PDFs in the monthly billing folder, one per customer.
  3. A Loop Over Items node iterates through each file. For each, a Google Drive Download node retrieves the binary content.
  4. PDF4me Create Swiss QR Bill appends a compliant QR payment slip to each invoice using the customer's Amount, IBAN, and address mapped from a Google Sheets customer record. Language Type is set to German. Paging Options is Add Page At End.
  5. A Gmail node sends the QR bill PDF as an email attachment to each customer. The filename uses the customer ID for easy reference.
E-commerce order confirmed → QR Bill → save to SharePoint
  1. A Webhook Trigger fires when an order is confirmed in the e-commerce platform.
  2. An HTTP Request node generates an invoice PDF from an HTML template using the order data.
  3. PDF4me Create Swiss QR Bill attaches a compliant QR slip to the invoice PDF. Amount and debtor details are mapped from the webhook payload. Reference Type is set to Creditor Reference for reconciliation. Language Type is French for French-speaking Switzerland.
  4. A Microsoft SharePoint node uploads the completed QR bill PDF to the Orders archive folder.
  5. An HTTP Request node updates the order status to Invoice Sent in the CRM system.
Overdue subscriptions → standalone QR Bill → payment reminder
  1. A Schedule Trigger fires every Monday morning to check for overdue subscription accounts.
  2. A PostgreSQL node queries all accounts with outstanding balances older than 14 days.
  3. A Loop Over Items node processes each subscriber. PDF4me Create Swiss QR Bill is called with Input Data Type set to None, no background PDF, generating a clean standalone QR bill. Debtor name and address are mapped from the database record. Reference Type is No Reference. Language Type is Italian for Italian-speaking Switzerland.
  4. A Microsoft Outlook node sends a payment reminder email to each subscriber with the standalone QR bill PDF attached.
  5. A PostgreSQL node logs the reminder sent timestamp and increments the reminder count for each account.

Frequently Asked Questions

What input formats does Create Swiss QR Bill support in n8n?+
Four Input Data Types are available. None generates a standalone QR slip with no background PDF: useful for payment reminders when no invoice document exists. Binary Data reads the PDF from a previous n8n node and is the most common option for automation pipelines. Base64 String accepts the file as a base64-encoded string for API-sourced data. URL downloads the source PDF from a public link. Binary Data is recommended for standard n8n workflows where the invoice is produced by an upstream node.
What is the difference between Structured and Combined address types?+
Structured stores address components in separate fields: street name, house number, postal code, and city. This format provides maximum compatibility with Swiss payment standards and automated bank reconciliation systems: it is required by most Swiss banking integrations. Combined stores the full address as two free-form lines, which is simpler to populate but less precise for downstream automated processing. Use Structured for all production Swiss QR bill workflows unless you have a specific reason to use Combined.
When should I use QR Reference versus Creditor Reference?+
Use QR Reference (a 27-digit numeric code starting with 0) for domestic Swiss QR bills linked to PostFinance or Swiss bank IBANs. This reference type enables fully automated payment reconciliation with bank statements and is the standard choice for Swiss invoicing. Use Creditor Reference (ISO 11649 structured reference) for cross-border SEPA-compatible payments or when your accounting system requires standardized ISO references. Select No Reference when no structured payment tracking is needed or when the reference is managed entirely outside the QR code.
Can I generate a Swiss QR bill without attaching it to an existing PDF?+
Yes. Set Input Data Type to None to create a standalone Swiss QR bill slip with no background document. The node generates a clean, self-contained QR bill in your chosen Format Type: PDF, PNG, JPEG, or TIFF. This option is correct for payment reminders, subscription overdue notices, and any workflow where no underlying invoice PDF has been produced upstream in the workflow.
What output format and paging options are available for the generated QR bill?+
Format Type supports PDF (default, recommended for print-ready documents), PNG (for digital delivery and web embedding), JPEG (for email-friendly image output), TIFF (for high-quality archival storage), and Empty or null for raw data. Paging Options controls placement within the output document: First places the QR bill on the first page, Last on the final page, Add Page At End appends a dedicated QR bill page after the invoice content, and Custom enables specific page positioning. PDF combined with Add Page At End is the most common configuration for Swiss invoice automation workflows.

Same Task on Other Platforms

Get Help