What's new
New features, integrations and improvements in Rechnungskit, newest first. Each entry links to the feature it is about.
Subscribe to the RSS feed- New
Kit now knows your account: to-dos, an overview and a demo in the chat
Kit, the AI assistant at the bottom right of the app (“Ask Kit”), now does more than answer questions about the app. When you ask, Kit looks into your account and tells you what needs doing right now.
- Your to-dos at a glance: Ask “What's open?” and Kit lists open tasks, missing settings, products without a classification, orders waiting to ship and unpaid open items, each with a count and a link. Whatever blocks invoices comes first.
- An overview when you open it: A short summary sits at the top of the chat, and from your second visit on it shows “Since your last visit” with everything that's new. A dot on the button tells you about new things before you open the chat.
- You can see what Kit is working on, for example “Checking your open items”. The answer only appears once it has been checked.
- Built to be safe: Kit only reads, changes nothing and only sees the active account and project, as far as your role allows. Every number in an answer has to come from your data, otherwise Kit says plainly that it can't answer that reliably right now. Every access is logged.
New on the website: at rechnungskit.de/demo (in German), Kit walks you through sample data in one minute, from the order to the DATEV export, without signing in. Afterwards you get access to the demo account by email.
More in the help under Kit, the AI assistant (in German).
- Improved
Manual orders: shipping costs, payment terms per order and drafts
In a joint test with a customer, three things were missing when creating a manual order. All three are built in now:
- Shipping costs: Under “+ Shipping costs” you enter a net amount, and it appears as its own line on the invoice. Rechnungskit takes the VAT rate from the line items; if an order mixes 7% and 19%, we split shipping by the ratio of the gross amounts.
- Payment terms per order: For the payment method invoice, you choose Immediately, 7, 14 or 30 days, or your own number of days up to 365. Your default from the Document rules is preselected and stays unchanged. The invoice shows the matching due date, and with Immediately it says the invoice is payable immediately on receipt.
- A draft instead of starting over: If you close the wizard before finishing, everything stays saved as a draft. At the top of Orders you'll see “Unfinished order” with “Continue draft”, and you pick up at the same step. Each project has at most one draft.
The product picker is clearer too: the line items already in the order are at the top, the catalog sits below with “Add” and “+1” buttons, and each click gets a short confirmation.
All steps with screenshots are in the help under Manual orders and invoices (in German).
- New
Consent bar in the checkout and pixels for Meta, Google and TikTok
Once you use tracking, the checkout now asks your buyers for their consent. And besides the server-side event for Meta, you can run three browser pixels directly in the checkout.
Why there is a bar now: The European Data Protection Board already treats collecting a click ID from an ad link as access to the buyer's device (EDPB Guidelines 2/2023, paras. 50 f.). For that, § 25 (1) TDDDG, the German law on privacy in digital services, requires consent, and that includes server-side tracking.
- A slim bar instead of a pop-up: Accept and Reject are the same size, with a link to your privacy policy and details for each provider. The form and the pay button stay usable, so buyers can always complete the purchase. Without tracking, no bar appears.
- Measured only after a yes: Only then are click IDs and UTM parameters stored on the order, and the same goes for the event sent to Meta, the webhook field attribution and the ad parameters on the return URL. The proof of consent is stored on the order.
- New pixels: the Meta Pixel (a switch on the Meta card, with the same event ID as the server event), the Google tag for Google Ads and Analytics 4, and the TikTok Pixel. You only enter IDs, and the pixels load only after a yes.
- On the integration card: a preview of the bar, a check of your privacy policy URL and the consent rate for the last 30 days.
Important for existing Meta connections: the bar is switched on automatically. Enter a privacy policy URL under Settings, otherwise tracking pauses, and name Meta in your privacy policy. You'll find suggested wording in the article Server-side tracking for Meta.
- New
Rechnungskit is now available in English
You can switch the whole app to English, and the customer portal too, where your customers manage their invoices and subscriptions.
How to switch: In the app, open Settings → Account and security and pick Deutsch or English under “Language”. The sign-in page has the same switch above the form. Your choice is saved with your user account and applies on every device you sign in on, but not to the whole organization. Everyone on a team works in their own language without changing it for the others.
- Technical terms stay recognizable: Terms such as GoBD, DATEV, Leistungsdatum (date of supply) or USt-IdNr. (VAT ID) also appear in the English interface, with a short explanation. That way you and your tax advisor keep talking about the same things.
- Customer portal: Buyers switch between German and English there themselves, including when they cancel a subscription or withdraw from a purchase.
- Documents stay as they are: You still set the language of your invoices and customer emails separately (German, English, French, Italian, Spanish, Dutch). DATEV exports stay in German.
The most important pages on rechnungskit.de are in English now too, at rechnungskit.de/en.
- New
API: canceled orders, document types and store credit by push
Three additions for everyone who connects Rechnungskit through the API:
- Report canceled orders:
POST /v1/orders/{orderNo}/cancelreports a cancellation, andPOST /v1/ordersnow also accepts"status": "cancelled", for example when the order was canceled before you sent it. If there is no invoice yet, the order is no longer invoiced, and a payment that was already paid back counts as “canceled and refunded”. If an invoice already exists, the API rejects the cancellation: the cancellation invoice then comes from the refund at the payment provider. - Document types in the order lookup:
GET /v1/orders/{orderNo}now lists the type of each document (invoice, cancellation invoice, purchase receipt) with its date, amount and PDF link. If you fetch an invoice by order number, you always get the invoice, and after a refund you no longer get the cancellation invoice by mistake. - Store credit by push: You can now send store credit transactions and balances from your own system directly (
POST /v1/credit-transactions,PUT /v1/credit-balances) instead of having Rechnungskit fetch them. Both routes end up in the same history.
All the details are in the API documentation.
- Report canceled orders:
- Improved
POS sales without a rule are put on hold instead of invoiced
When the first Shopify POS sale comes in and you haven't decided yet for that connection who books POS sales, Rechnungskit no longer creates an invoice for it. The sale is put on hold, and you get an email right away plus a task on the dashboard. If you then set under Document rules that Rechnungskit invoices them, the held sales get their invoices immediately. If your POS app books them, they show up as “POS”, with no invoice and no revenue. So a POS sale never lands in your books twice by mistake. More in the Shopify help (in German).
- Improved
Partial cancellations now list the refunded items
If one of two identical items comes back, the cancellation invoice now shows exactly that one item at its invoice price. Before, the refunded amount was spread proportionally across all lines and shipping, which was correct for tax purposes but hard to follow. Rechnungskit takes the items from the refund in Shopify or WooCommerce, even if the money went back through PayPal, Stripe or Mollie. If shipping was refunded as well, it gets its own line on the cancellation invoice. If the shop reports no items, your setting under Document rules applies, and now it really takes effect: proportional, one combined “Refund” line, or “Assign manually”. With manual, you pick the refunded items yourself in the “Assign partial refund” task. More in the help on invoices and the archive (in German).
- New
Shopify POS sales are no longer booked twice
Rechnungskit now recognizes Shopify POS sales by their sales channel. Under Connections → Document rules you decide for each Shopify connection whether your POS app books them or Rechnungskit invoices them. If your POS app books them, they show up under Orders as “POS”, with no invoice and no task, and their payments don't count as revenue. The payout lists the POS share separately. More in the Shopify help (in German).
- Fixed
PayPal refunds from Shopify and WooCommerce now create the cancellation invoice
If you refund a shop order through PayPal, Rechnungskit now fetches the refund directly from PayPal and creates the cancellation invoice (Stornorechnung) from it. Until now it only arrived through a PayPal notification, and PayPal doesn't send those for shop payments. Older refunds from the last 31 days are picked up automatically. If a refund is still missing after a day, you get a task, so the cancellation invoice can't silently go missing. More in the PayPal help (in German).
- New
Stripe invoices with payment terms become e-invoices
If you send invoices in Stripe that the customer pays later by bank transfer, you now get the matching e-invoice for them from Rechnungskit. Stripe still collects the money and Rechnungskit issues the invoice, before the customer pays.
How it works in detail: Stripe invoice with payment terms. What Stripe can and can't do as an invoicing route overall is covered in Stripe invoices, and the step-by-step guide for invoices in Stripe is under Stripe Invoicing.
- New
Shop page and manual orders
On the shop page, buyers order several products in one cart, and if you want, also on invoice or with prepayment. Orders that don't come through a shop, such as a business customer ordering by email, you can now enter yourself as an order.
- Improved
Export and intra-EU delivery evidence on the invoice
For every tax-exempt invoice, Rechnungskit now shows the matching evidence (Ausfuhrnachweis for exports, Gelangensnachweis for EU deliveries) and where it is stored. For a tax audit, you download all evidence for a period as a ZIP file with an overview list.
- Integration
New integrations: Memberspot, Ghost and Meta Ads
After a payment, Rechnungskit now also hands things on: course access to Memberspot, the membership tier to Ghost and the purchase event to Meta Ads. This works for one-time purchases and subscriptions through the Rechnungskit checkout, without webhooks of your own.
- New
XRechnung 3.0 for public-sector customers
Invoices to government agencies and public institutions are created automatically as XRechnung 3.0, the German e-invoice format for the public sector. You add the Leitweg-ID (the buyer's routing ID) to the customer, and Rechnungskit takes care of the rest.
- Milestone
Rechnungskit is open to everyone
The waitlist is history: online shops and SaaS providers now create their own account and start in the free test mode.
- New
DATEV export with document transfer
Every invoice booking in the DATEV export now carries a document link (Beleglink). The Belegtransfer package attaches the invoices to the matching bookings in DATEV Unternehmen online automatically, so your tax advisor no longer has to match anything up.
- Integration
Rechnungskit in the Shopify App Store
Rechnungskit is listed as an app in the Shopify App Store. You install it straight from your Shopify admin and link it to your Rechnungskit account. If you create a new account along the way, the Rechnungskit fees appear on your Shopify bill. The existing route through Settings → Connect with your shop domain still works, and both routes are equivalent. Everything about the connection is on the Shopify integration page.
- New
Sign in without a password
You can now also sign in with a passkey or with a code sent by email. Neither one needs a password.
- Integration
Unzer as a payment provider
Payments, refunds and chargebacks from Unzer now reach Rechnungskit automatically. Rechnungskit reads the fees from Unzer's settlement report.
- Integration
Connect Shopware 6
Shopware 6 connects through its Admin API, with no plugin in your shop. Rechnungskit fetches orders and payment status at regular intervals and issues the invoices from them.
- Milestone
Rechnungskit opens its waitlist
The invoicing and bookkeeping automation that grew out of Happy Coffee's own online shop becomes a product of its own, starting as a private beta with a waitlist.