Tellbill is a Swiss invoicing service: QR-bill invoices (ISO 20022), automatic payment reminders, bank reconciliation and credit notes. This plugin connects your WooCommerce shop to your Tellbill account.
What it does
- When an order reaches the trigger status you choose (default: “Processing”), the plugin calls the Tellbill API and creates the matching invoice — with a Swiss QR code — then (optionally) emails it to your customer.
- The Tellbill invoice number is displayed in the orders list and in the order notes.
- Payment sync (optional): when the customer pays the QR-bill, Tellbill notifies WooCommerce through a signed webhook and the order is automatically marked as paid (stock, downloads, etc.).
- Refunds: a WooCommerce refund automatically creates the matching credit note in Tellbill (VAT included; full refund = full credit note).
- Duplicate-safe: each order is sent with a unique identifier (
external_id = "wc_<order id>"). If the same order is sent twice (double status change, network retry), Tellbill returns the existing invoice instead of creating a duplicate.
Requirements: a Tellbill account (https://tellbill.ch) and an API key.
Which trigger status should you choose?
- Invoice-based selling (very common in Switzerland: the customer receives the goods, then pays within X days): trigger “Processing” or “Completed”. The invoice carries your payment term; if the customer is late, Tellbill sends reminders automatically.
- Prepayment by QR-bill (the customer pays before you ship): enable the “Direct bank transfer” gateway so the order lands in “On hold”, and set the trigger to “On hold”. The customer receives the QR-bill, pays, then you ship.
- Paid online (card at checkout): trigger “Processing” — the Tellbill invoice then serves as a receipt and accounting record.
External services
This plugin communicates with the Tellbill API (https://tellbill.ch) — the invoicing service it connects to; that is its sole purpose. No data is sent until you configure your API key.
Data transmitted to the Tellbill API (https://tellbill.ch/api/v1, or the URL you configure):
- When an invoice is created (order reaching the trigger status): the customer’s billing details (name, email, address), the order lines (item names, quantities, prices) and the order number.
- When a refund is issued: the refunded amount and the refund reason.
- When you click “Test connection”: only your API key is transmitted (as a header).
This data is required to issue the invoices. It is processed by Tellbill according to its terms of service and privacy policy:
- Terms of service: https://tellbill.ch/cgu
- Privacy policy: https://tellbill.ch/confidentialite
Translations
The plugin ships with German (de_DE, de_CH), Italian (it_IT) and English (en_US, en_GB) translations — the four Swiss business languages are covered out of the box. Source strings are in French (built for the Swiss market). A .pot template is bundled in /languages for any additional language.