# swiss_qr_bill v0.1.2 - Table of Contents

> Swiss QR-bill generation library (QR-Rechnung) per SIX v2.3 spec

## Modules

- [SwissQrBill](SwissQrBill.md): Swiss QR-bill generation library per SIX IG QR-bill v2.3.
- [SwissQrBill.AdditionalInformation](SwissQrBill.AdditionalInformation.md): Additional information for Swiss QR bills.
Contains an unstructured message and/or coded bill information.

- [SwissQrBill.Address](SwissQrBill.Address.md): Structured address for Swiss QR bills (type "S").
Per v2.3, only structured addresses are allowed.

- [SwissQrBill.AlternativeScheme](SwissQrBill.AlternativeScheme.md): Alternative payment scheme parameter for Swiss QR bills.
Maximum 2 alternative schemes are allowed per bill.

- [SwissQrBill.CreditorInformation](SwissQrBill.CreditorInformation.md): Holds the creditor's IBAN and provides QR-IBAN detection.

- [SwissQrBill.IBAN](SwissQrBill.IBAN.md): IBAN validation, formatting, and QR-IBAN detection for Swiss QR bills.
- [SwissQrBill.Output.PdfOutput](SwissQrBill.Output.PdfOutput.md): Generates the complete Swiss QR bill payment part as PDF.
Uses the `pdf` library. Layout matches the SIX style guide.
The QR code is drawn directly as filled rectangles from the QR matrix.

- [SwissQrBill.Output.PngOutput](SwissQrBill.Output.PngOutput.md): Generates PNG output by rasterizing the PDF via pdftocairo.
The PDF is the source of truth — PNG is a pixel-perfect rasterization.
- [SwissQrBill.Output.SvgOutput](SwissQrBill.Output.SvgOutput.md): Generates SVG output by converting the PDF via pdftocairo.
All text is automatically converted to glyph outlines (paths),
ensuring pixel-perfect rendering on all devices without font dependencies.
- [SwissQrBill.Output.Translation](SwissQrBill.Output.Translation.md): Translations for Swiss QR bill payment part labels.
Supports German (de), French (fr), Italian (it), English (en), and Romansh (rm).

- [SwissQrBill.PaymentAmount](SwissQrBill.PaymentAmount.md): Payment amount and currency for Swiss QR bills.
Amount is optional (nil = blank amount box on payment part).

- [SwissQrBill.PaymentReference](SwissQrBill.PaymentReference.md): Payment reference information for Swiss QR bills.
- [SwissQrBill.QrCode.QrCode](SwissQrBill.QrCode.QrCode.md): QR code generation for Swiss QR bills.
Uses the `qr_code` library with Medium error correction.

- [SwissQrBill.QrCodeData](SwissQrBill.QrCodeData.md): Assembles the QR code data payload per the SIX Swiss QR bill specification.
The payload is a newline-separated string of fields in a strict order.

- [SwissQrBill.Reference.CreditorReferenceGenerator](SwissQrBill.Reference.CreditorReferenceGenerator.md): Generates RF creditor references per ISO 11649.

- [SwissQrBill.Reference.QrReferenceGenerator](SwissQrBill.Reference.QrReferenceGenerator.md): Generates 27-digit QR payment references with modulo-10 recursive check digit.

- [SwissQrBill.Validation](SwissQrBill.Validation.md): Validation logic for Swiss QR bill data.

