Title: Tellbill for WooCommerce
Author: tellbill
Published: <strong>June 17, 2026</strong>
Last modified: June 17, 2026

---

Search plugins

![](https://ps.w.org/tellbill-for-woocommerce/assets/banner-772x250.png?rev=3576180)

![](https://ps.w.org/tellbill-for-woocommerce/assets/icon.svg?rev=3576180)

# Tellbill for WooCommerce

 By [tellbill](https://profiles.wordpress.org/tellbill/)

[Download](https://downloads.wordpress.org/plugin/tellbill-for-woocommerce.1.4.2.zip)

 * [Details](https://wordpress.org/plugins/tellbill-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/tellbill-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/tellbill-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/tellbill-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/tellbill-for-woocommerce/)

## Description

[Tellbill](https://tellbill.ch) 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.

## Installation

 1. Upload the plugin through Plugins  Add New  Upload Plugin (or copy the folder to`
    wp-content/plugins/`), then activate it.
 2. Go to WooCommerce  Settings  “Tellbill” tab.
 3. Paste your Tellbill API key (Tellbill panel  Settings  API & integrations).
 4. Pick the trigger status, the payment term and the default VAT rate, then use the“
    Test connection” button.

**Payment sync (optional):** in your Tellbill panel  Webhooks, create an endpoint
pointing to the URL shown in the plugin settings (`https://your-site/wp-json/tellbill/
v1/webhook`), subscribed to the `invoice.paid` event. Then paste the signing secret
shown by Tellbill into the plugin settings. Requests are verified with an HMAC-SHA256
signature and a 5-minute anti-replay window; while no secret is configured, the 
endpoint rejects all requests.

## FAQ

### Do I need a Tellbill account?

Yes. The plugin is a connector: invoices are created, sent and reconciled by Tellbill.
You can create an account on https://tellbill.ch.

### In which languages are the invoices sent?

Tellbill issues the invoice PDF and the email in the customer’s language (French,
German, Italian or English), configurable per customer in your Tellbill panel.

### What happens if the API is unreachable when an order comes in?

The plugin adds a note to the order with the error message. You can re-trigger the
invoice by setting the order status again — thanks to the `external_id`, no duplicate
will ever be created.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Tellbill for WooCommerce” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ tellbill ](https://profiles.wordpress.org/tellbill/)

[Translate “Tellbill for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/tellbill-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tellbill-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/tellbill-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/tellbill-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/tellbill-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.2

 * Review fix: the admin JavaScript and CSS are now loaded via the standard `wp_enqueue_script`/`
   wp_enqueue_style` functions (with `wp_localize_script` for the nonce and labels)
   instead of being printed inline.
 * Translations are now delivered through WordPress.org language packs (translate.
   wordpress.org) and loaded automatically; the plugin no longer ships or manually
   loads bundled translation files.

#### 1.4.1

 * Security: the payment-sync endpoint now rejects ALL requests until a signing 
   secret is configured (previously, an empty secret meant requests were accepted
   unverified).
 * WordPress.org compliance: plugin renamed “Tellbill for WooCommerce” (trademark
   rules), English readme, Requires Plugins / License URI headers, admin notice 
   when WooCommerce is inactive, “External services” disclosure, translators comments,
   bundled .pot file.
 * Bundled translations: German (de_DE, de_CH), Italian (it_IT) and English (en_US,
   en_GB).

#### 1.4.0

 * WooCommerce refund  Tellbill credit note, created automatically, VAT included(
   full refund = full credit note; partial refunds grossed up by the VAT rate when
   WooCommerce does not handle tax). One credit note per refund (duplicate-safe).

#### 1.3.0

 * “Test connection” button in the settings (validates the API key).
 * Plugin internationalized (i18n): all strings are translatable.

#### 1.2.0

 * Payment sync: Tellbill webhook (invoice.paid)  the WooCommerce order is automatically
   marked as paid. Signed REST endpoint (HMAC), mapped via external_id.

#### 1.1.0

 * Configurable payment term (payment_term_days).
 * Default trigger status = “Processing”; guidance for the 3 selling models in the
   settings.

#### 1.0.0

 * Initial release: invoice created on order, duplicate-safe (external_id), orders-
   list column + order notes, HPOS compatible.

## Meta

 *  Version **1.4.2**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [Billing](https://wordpress.org/plugins/tags/billing/)[invoice](https://wordpress.org/plugins/tags/invoice/)
   [qr bill](https://wordpress.org/plugins/tags/qr-bill/)[Switzerland](https://wordpress.org/plugins/tags/switzerland/)
 *  [Advanced View](https://wordpress.org/plugins/tellbill-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tellbill-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tellbill-for-woocommerce/reviews/)

## Contributors

 *   [ tellbill ](https://profiles.wordpress.org/tellbill/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tellbill-for-woocommerce/)