Swiss QR Invoice
Features How it works Screenshots Pricing Support
EN
DeutschFrançaisItalianoEnglishCurrent
Download

Swiss QR Invoice

Support

Get started, resolve import problems, and find answers to common questions about Swiss QR Invoice.

Table of contents

Getting started

Create a QR invoice in three steps Import template Usage

Working with invoices

Column MappingProfilesBatch OutputExport Log

Reference & help

Import Fields Validation What's new Frequently asked questions Contact

    Create a QR invoice in three steps

    1. Create a single invoice or import a table containing multiple invoices. Batch processing is included in Pro.
    2. Check the column mapping and validation messages. Review the recipient, payment details, amounts, and preview.
    3. Choose the output format and export the PDFs. Save recurring settings as a profile.

    Import template

    The sample file uses the same columns as the template in the app. Replace the sample data with your own details. You can also export TXT and XLSX templates directly from the app.

    Download the sample CSV

    Sample data only. Do not use for real payments.

    Usage

    Create QR invoices, prepare import files and export PDFs correctly.

    Workflow

    Import: drop a file or export templates. Invoice: check data or enter it manually. Output: choose format, lines, background, naming and batch behavior.

    Validation

    The preview and validation show whether the current invoice can be exported. Sample data keeps the status neutral.

    Invoice

    The cards follow the order on the QR invoice: Account / Payable to, Reference, Message, Payable by and Amount. Imported data remains locked.

    Output

    A4 places the payment part at the bottom. 210 x 105 mm creates only the payment part and does not allow a background. Bleed creates TrimBox, BleedBox and crop marks.

    Naming

    File names can use placeholders such as {nummer}, {referenz}, {zahler} and {empfaenger}. The sequence number controls {nummer}.

    Right sidebar

    The sidebar shows invoice details and imported invoices. Open the export log using the clock icon in the toolbar.

    Column Mapping

    Review shared data and each invoice using the preview. Each data row can create multiple invoices; empty invoice blocks are skipped. Reopen the mapping under Import → Adjust column mapping. Reimporting replaces subsequent invoice edits after confirmation.

    Profiles

    Open profile management from the toolbar or column mapping. Profiles store output settings, payee details and optional column mappings, but not imported data rows. Save, load, update, rename, duplicate or delete profiles, and import or export them as files. Profile names must be unique.

    Batch Output

    Invoice 1, Invoice 2 and so on are exported to separate folders. Set a separate filename template for each invoice set. Choose a combined PDF or one PDF per invoice; Split into batches limits the invoices per batch. The preview filter does not change the export selection. Use checkboxes for partial export.

    Export Log

    Open the export log using the clock icon. It shows the last 20 exports with status, count, duration and destination. Reveal the destination in Finder, save a TXT report or reuse saved output settings. Cancelling closes the progress dialog; files already written remain. Cancellation is recorded in the log, not in validation. Clearing the log does not delete exported files.

    Import Fields

    The first row contains column names. Each data row can create one or more invoices depending on the mapping. Unmapped columns and empty invoice blocks are skipped.

    spracheOptional

    Output language of the visible QR invoice terms.

    Allowed values are de, fr, it, rm and en. If empty or unknown, Swiss QR Invoice uses German.

    Example: de

    Alias: language, lang, locale

    ibanRequired

    Account of the payment recipient, stored in the QR code as IBAN/QR-IBAN.

    CH or LI IBAN with valid modulo-97 check digit. For reference type QRR it must be a QR-IBAN with IID 30000-31999; for SCOR/NON it must not be a QR-IBAN.

    Example: CH6431961000004421557

    Alias: account, qriban, konto

    empfaengernameRequired

    Name of the payment recipient, shown as "Account / Payable to".

    Maximum 70 characters. Payable to is required by SIX.

    Example: Max Muster & Söhne

    Alias: creditorname, zahlungsempfaenger, zahlbaran

    empfaengerstrasseOptional

    Street of the payment recipient.

    Maximum 70 characters. Swiss QR Invoice warns if the street is missing.

    Example: Musterstrasse

    Alias: creditorstreet, strasseempfaenger

    empfaengernrOptional

    House number of the payment recipient.

    Maximum 16 characters.

    Example: 123

    Alias: creditorbuildingnumber, creditornumber, nrempfaenger

    empfaengerplzRequired

    Postal code of the payment recipient.

    Maximum 16 characters. Required for the structured address in the QR invoice.

    Example: 8000

    Alias: creditorpostalcode, plzempfaenger

    empfaengerortRequired

    Town of the payment recipient.

    Maximum 35 characters. Required for the structured address in the QR invoice.

    Example: Seldwyla

    Alias: creditortown, ortempfaenger

    empfaengerlandRequired

    Country of the payment recipient.

    Two-letter ISO country code. If empty, Swiss QR Invoice sets CH.

    Example: CH

    Alias: creditorcountry, landempfaenger

    referenztypOptional

    Determines which reference logic is used for the payment.

    QRR = QR reference, SCOR = Creditor Reference, NON = no reference. If empty or unknown, Swiss QR Invoice uses QRR.

    Example: QRR

    Alias: referencekind

    referenzOptional

    Payment reference for automatic posting.

    For QRR exactly 27 digits with modulo-10 recursive check digit. For SCOR a valid RF reference with 5 to 25 characters. Leave empty for NON.

    Example: 000008207791225857421286694

    Alias: reference

    betragOptional

    Amount to be paid.

    Decimal number with dot or comma, at least 0.00 and at most 999999999.99. Empty means the amount is not preprinted. At 0.00 Swiss QR Invoice sets the required not-for-payment message.

    Example: 50.00

    Alias: amount

    waehrungOptional

    Currency of the amount.

    Allowed values are CHF and EUR. QRR is only allowed with CHF in Swiss QR Invoice. If empty or unknown, CHF is used.

    Example: CHF

    Alias: currency

    zahlernameOptional

    Debtor person or company, shown on the QR invoice as "Payable by".

    Optional. If entered, maximum 70 characters; the address must also be plausible.

    Example: Simon Muster

    Alias: debtorname, zahlungspflichtiger, zahlbardurch

    zahlerstrasseOptional

    Street of the debtor.

    Maximum 70 characters. Swiss QR Invoice warns if the street is missing for an entered debtor.

    Example: Musterstrasse

    Alias: debtorstreet, strassezahler

    zahlernrOptional

    House number of the debtor.

    Maximum 16 characters.

    Example: 1

    Alias: debtorbuildingnumber, debtornumber, nrzahler

    zahlerplzOptional

    Postal code of the debtor.

    Maximum 16 characters. Required when "Payable by" is used.

    Example: 8000

    Alias: debtorpostalcode, plzzahler

    zahlerortOptional

    Town of the debtor.

    Maximum 35 characters. Required when "Payable by" is used.

    Example: Seldwyla

    Alias: debtortown, ortzahler

    zahlerlandOptional

    Country of the debtor.

    Two-letter ISO country code. If empty, Swiss QR Invoice sets CH.

    Example: CH

    Alias: debtorcountry, landzahler

    mitteilungOptional

    Unstructured message in the "Additional Information" area.

    Maximum 140 characters. Together with "rechnungsinformationen", at most 140 characters are allowed.

    Example: Bezahlung der Reise

    Alias: message, zusatzinformationen

    rechnungsinformationenOptional

    Structured billing information for automated processing, e.g. using SWICO syntax.

    Optional, maximum 140 characters. Together with "mitteilung", at most 140 characters are allowed.

    Example: //S1/10/10201409/11/200701

    Alias: billinginformation, strdbkginf

    alternativesverfahren1Optional

    First line for an alternative payment procedure.

    Optional, maximum 100 characters. Use only when a supported alternative procedure should deliberately be specified.

    Alias: alternativeprocedure1, altpmt1, av1

    alternativesverfahren2Optional

    Second line for an alternative payment procedure.

    Optional, maximum 100 characters. Use only when a supported alternative procedure should deliberately be specified.

    Alias: alternativeprocedure2, altpmt2, av2

    Validation

    Global validation appears at the bottom centre. It checks invoice data such as required fields, IBAN, reference, amount and text lengths. Error details are available there; invalid imported invoices are skipped during export. Cancelling an export does not change validation. These checks do not verify account ownership or payment execution.

    Important SIX Rules

    • QRR requires a QR-IBAN with IID 30000-31999 and a 27-digit QR reference with a correct modulo-10 check digit.
    • SCOR uses an ISO Creditor Reference with RF prefix and modulo-97 check. NON means no reference; the reference field remains empty.
    • Message and structured billing information share the "Additional Information" area in the QR code and may use at most 140 characters together.
    • Payable to is required. Payable by is optional, but must be complete and valid when a name is entered.

    The import field rules follow the Swiss QR Bill/SIX field logic and the current validation in Swiss QR Invoice.

    What's new

    Release notes from the App Store

    Version 2.0 September 29, 2026

    • Added separate exports for multiple invoice sets
    • Added individual filename patterns for each invoice set
    • Added reusable profiles for faster workflows
    • Refined the macOS interface for simpler navigation
    • Improved Excel imports and column mapping
    • Enhanced QR code and PDF validation
    • Updated help and translations
    • General improvements and bug fixes

    Version history on the App Store ↗

    Frequently asked questions

    Which files can I import?

    TXT, CSV, TSV, and XLSX files are imported as invoice batches. PDF and image files are scanned for an embedded QR code.

    Columns are not recognised correctly.

    Check the column names in the first row and the column mapping in the app. Start with the template. The sample file uses UTF-8 encoding and semicolon separators.

    The app reports invalid payment details.

    Check the highlighted fields and the validation message. Review the IBAN, reference type, reference, and required address details. Resolve validation errors before exporting.

    How do I export multiple invoices?

    Pro lets you import multiple invoices and export individual or combined PDFs. Check the selected invoice sets, output format, and filename settings before exporting.

    The PDF is reduced when printing.

    Check the paper size and print at 100% or actual size. Turn off automatic page scaling if it changes your selected output format.

    Pro is not recognised after purchase.

    Use the Apple ID used for the purchase and choose Restore Purchases in the app. Purchases, subscriptions, and refunds are managed through the App Store.

    Are my invoice details uploaded?

    Swiss QR Invoice processes invoice data locally on your Mac. Invoice processing requires neither an account nor a proprietary cloud service.

    Contact

    Email us with a short description of the issue. Include these details to help us investigate:

    • App version and macOS version
    • The step you were performing and the exact error message
    • For import issues: file format and anonymised column names

    support@swissqrinvoice.app

    Do not send real invoices, bank details, or customer data. Use anonymised data in any examples.

    Swiss QR Invoice
    © 2026 Benjamin Wieland · Made within Switzerland
    © 2026 Benjamin Wieland
    Made in Switzerland
    SupportLegal noticePrivacybenwie.ch ↗
    Download on theMac App Store