WooCommerce – EASYBILL – REST API Connect
**easybill Integration for WooCommerce** connects your WooCommerce shop to [easybill](https://www.easybill.de/api/). When an order reaches the configured status, the plugin creates an easybill **customer** from the buyer data, creates and finalizes an **invoice** from the order items, downloads the **PDF**, attaches it to the WooCommerce customer email and keeps a link to the easybill document.
Features
- **Automatic invoicing after checkout** — on the configured order status the order is transferred to easybill and an invoice is created.
- **Customer creation & linking** — a customer is created from the buyer data; for logged-in buyers the easybill customer id is stored on the user and **reused** for future orders.
- **PDF invoice handling** — the finalized invoice PDF is downloaded, stored on the order and **attached to the customer email**; the invoice number and a link to the easybill document are kept on the order.
- **Secure customer download** — the buyer can download the invoice PDF from the order details page through a key-protected link.
- **Configurable** — API key, trigger order status, finalize on/off, which customer email to attach to, and logging — all from a WooCommerce settings tab.
- **Idempotent & retryable** — the easybill document id is stored immediately, so a manual *resend* order action never creates a duplicate invoice; failures are logged and noted on the order.
- **VAT-aware mapping** — line items, shipping and fees are mapped to invoice positions with the correct net price and VAT percentage; easybill computes the totals.
- **Robust REST client** — bearer authentication and rate-limit (HTTP 429) handling.
- **HPOS ready** — uses the WooCommerce order CRUD and declares custom-order-table compatibility.
- **Reusable architecture** — provider-agnostic DTOs + an abstract provider, so new platforms and sources plug in without rewriting the flow.
- **Internationalised** — text domain `woocommerce-rest-easybill`; German and English documentation included.
