Topics covered: Invoice generation · Invoice delivery · Customer self-service access · Email and PDF templates · Invoice correction · Failed payment recovery · Data export for accounting
Who this article is for
You run, or are building, a subscription business for physical products. Your inventory might include bikes, strollers, baby gear, furniture, consumer electronics, medical devices, home appliances or other physical and consumer durable products. You rent or lease these products on a subscription basis, and you need a system that:
- Generates an invoice for every charge, automatically
- Delivers those invoices to customers without manual effort
- Gives customers self-service access to download their invoices
- Handles corrections, failed payments, refunds, and edge cases cleanly
- Exports structured invoice data for your accounting team or bookkeeping software
This article explains precisely how circuly handles invoicing at every stage of the subscription lifecycle.
The core principle: Every payment generates an invoice
In circuly, invoicing is not an afterthought or a manual step. It is built directly into the payment infrastructure. Every time a payment is processed, regardless of payment type, circuly automatically generates a corresponding invoice and delivers it to the customer. This is what subscription billing automation looks like in practice.
This covers:
- Initial payments — the charge made when a customer first places an order (which may include the first monthly fee, a setup fee, or shipping costs)
- Recurring payments — the scheduled charges collected automatically each billing period (monthly, quarterly, or annually, depending on your configuration)
- One-time payments — ad hoc charges manually triggered for things like repair fees, product buyouts, or additional services outside the regular subscription
- Refund invoices — generated whenever a full or partial refund is processed
- Cancellation invoices — created when an incorrect invoice needs to be voided and replaced
The practical result is a complete, auditable paper trail across the entire customer relationship — from the first order through to the end of the subscription.
Two approaches to invoice delivery
When you set up invoicing in circuly, you choose one of two delivery approaches. This decision shapes how invoices reach your customers and whether they appear in the customer-facing portal.
Option 1: circuly handles invoice delivery
With this approach, circuly generates the invoice PDF and sends it automatically as an email attachment to the customer at the time of the charge. The customer also receives the invoice in their self-service portal, where they can download it at any time.
This is the most self-contained option. No external bookkeeping integration is required, and your customers have immediate access to all their invoices through a single interface.
This option is recommended if:
- You want customers to be fully self-sufficient with their invoice access
- You do not use a separate bookkeeping or accounting tool that generates its own invoices
- You want to minimise your operational overhead for invoice management
Option 2: Your bookkeeping tool handles invoice delivery
With this approach, invoice generation is handled by your connected bookkeeping or ERP system, typically via a webhook or shop system integration. circuly passes the payment data to your external tool, which issues the invoice according to its own numbering scheme and template.
Important implications to be aware of:
- Invoice numbers in your bookkeeping system will differ from those generated by circuly
- Customers will not see or be able to download invoices through the circuly Self-Service Portal — invoice delivery is entirely managed by the external system
- This adds complexity but may be necessary if your business has regulatory or workflow requirements around invoice generation in a specific accounting platform
For a full breakdown of how circuly handles the financial side of subscription operations, see the Bookkeeping for a Subscription Business guide.
What triggers an invoice: Payment types
Understanding which events trigger invoice generation helps you reason about your customer communications and financial records. For a deeper look at how these email and PDF templates work together, see Understanding Payment-Related Email Templates.
Initial Payment Invoice
When a customer completes checkout and their initial payment is successfully charged, circuly triggers the "Payment Was Successful" email, which includes the invoice as a PDF attachment (using the Invoice PDF template).
If you use the Delayed Charge feature — where no payment is taken at checkout and you charge the initial payment manually at a later point — the invoice is generated at the time the manual charge is executed, not at order creation.
Recurring payment invoice
Before each recurring charge is due, circuly sends the customer a "Your Invoice" email with the upcoming invoice attached as a PDF. This acts as both advance notice and the formal invoice for the transaction. This is the foundation of recurring invoicing in a physical product subscription context.
The recurring payment is then charged automatically on the due date based on your billing frequency settings.
If a recurring payment is retried (either automatically by circuly's retry logic, or manually by your team), a new invoice is generated for that retry attempt.
One-time payment invoice
When you manually charge a one-time payment — for example, a damage fee or a product buyout — circuly triggers the "Your Invoice" email and attaches a One-Time Transaction PDF to document the charge.
Refund Invoice
When you process a full or partial refund in the circuly Hub, circuly automatically triggers the "Transaction Refund" email and attaches a Refund Invoice PDF. Both the customer and your team receive a clear record of the refunded amount.
Customer access: The self-service portal
A common operational requirement for subscription businesses is that customers can access and download their invoices independently — without needing to contact support.
In circuly, this is handled through the Customer Self-Service Portal (CSS). Customers log into their account and navigate to the "Your Invoices" section, where they can view and download all invoices for payments that have already been settled. For step-by-step instructions you can share directly with your customers, see Downloading Invoices in the Customer Self-Service Portal.
Key behaviour to understand:
- Only invoices for settled (paid) transactions are visible in the portal. Upcoming charges are not displayed.
- The download functionality is controlled by a setting in the circuly Hub:
Settings > Customer Login > FEATURES > Hide invoice download.This toggle must be disabled (i.e., the feature must be active) for the download icon to appear in the portal.
Operational note: circuly recommends informing customers about the invoice download feature proactively — for example, via an onboarding email, a FAQ section on your website, or an in-app prompt. This reduces support tickets from customers who do not know where to find their invoices.
Invoice configuration: Numbering, tax, and date logic
Before your invoices go live, circuly provides a dedicated invoice setup area in the Hub:
Settings > Invoice & Payments > INVOICE SETUP
Here you can configure:
- Invoice numbering scheme — define the format and sequence of invoice numbers to align with your internal accounting standards or legal requirements
- Default tax settings — set tax rates or regional configurations relevant to your markets
- Date-to-date invoicing — circuly generates invoices covering the period from the subscription start date plus the billing interval (e.g., start date + 30 days)
Practical tip on date alignment: If you want to avoid invoices that span two calendar months (which can complicate monthly accounting), consider starting all subscriptions on the 1st of each month. For the partial period before the subscription's first billing date, use a one-time payment to cover the prorated amount.
Custom invoice templates
Invoice PDFs in circuly are HTML/CSS-based and fully editable. You can style them to match your brand, adjust the layout, and configure the variables included (name, address, subscription details, VAT, etc.). circuly provides default templates that work out of the box, and you can modify them as needed. For a full overview of how email and PDF templates connect, see Understanding Payment-Related Email Templates.
Handling failed payments and their invoices
In subscription businesses, failed recurring payments are a routine operational challenge. A customer's card may have expired, their bank may have blocked a charge, or their account may have had insufficient funds. circuly provides structured tooling to manage these situations without losing the invoice trail.
Automatic retry
circuly can be configured to automatically retry a failed recurring payment a defined number of times, with configurable intervals between attempts. Each retry generates a new invoice attempt. You can also configure whether customers are notified on each attempt or only on the final failure. For full configuration details, see the Failed Payment Retrial settings guide.
This automated recovery process is also known as subscription dunning. For a broader look at how payment retrial, dunning, and debt collection differ — and when to use each — see Payment Retrial vs. Dunning and Debt Collection.
Manual retry via charge invoice
If automatic retries have been exhausted, or you want to manually trigger a payment attempt after the customer has confirmed they have resolved their payment issue, you can use the Charge Invoice feature:
circuly Hub > Invoices tab > Select the failed invoice > Charge Invoice
This attempts the payment against the stored payment method. If successful, an email confirmation is sent to the customer. If unsuccessful, the invoice remains in failed status, and you can either follow up with the customer directly or hand the invoice over for collections. For more detail, see What If a Customer Doesn't Pay? Can circuly Handle Debt Collection?
Mark as settled (for offline and bank transfer payments)
Not all subscription businesses collect payments automatically through a PSP. Some businesses use invoice-based billing, where customers pay via bank transfer after receiving an invoice. In these cases, circuly's Mark as Settled feature allows you to manually confirm that a payment has been received and update the payment status accordingly — keeping your records accurate without requiring an automated charge.
Correcting invoices: Cancellation and regeneration
Invoicing errors happen: a customer's name or address may be wrong, the VAT may have been applied incorrectly, or the invoice may be missing a mandatory field. In many jurisdictions (including under § 14 Para. 2 No. 2 of the German VAT Act), incorrect invoices cannot simply be edited — they must be formally cancelled and replaced.
circuly handles this through a cancellation and regeneration workflow:
- The incorrect invoice is cancelled in the circuly Hub. This creates a formal cancellation record and voids the original invoice in your records.
- A new invoice is generated with the correct information.
Why cancellation is required (not just editing):
- Legal compliance — tax authorities require a traceable audit trail. Edited invoices can raise compliance issues.
- VAT accuracy — VAT records must match the actual transactions. A clean cancellation + reissue ensures both parties have correct documentation.
- Customer transparency — the customer receives a clearly corrected invoice, with no ambiguity about which version is valid.
Important: Cancelling an invoice does not automatically trigger a payment refund. Cancellation is a document-level action. If the underlying payment also needs to be reversed, a separate refund must be processed.
Exporting invoice data for accounting
Standard invoice export
You can export your invoice list from the circuly Hub at any time using the filter options in the Invoices tab. Useful filter combinations for accounting workflows include:
- By date range — filter by the
Createdfield to extract a monthly invoice batch - By invoice type — filter for refund invoices, initial payments, recurring payments, buyout invoices, cancellations, or one-time transactions
- By status — isolate failed invoices for follow-up
Invoice line item export
For businesses that need more granular data — for example, to analyse revenue by SKU, product type, or individual line items — circuly supports invoice line item exports.
This feature allows you to export a CSV file containing the individual line items from each invoice, rather than just the summary row. This is particularly useful for:
- Reconciling revenue against your product catalogue
- Feeding data into accounting or BI tools at the transaction level
- Supporting VAT reporting by product category
To export line items: In the Invoices tab, select the relevant invoices, click Export, and check the option "Export invoice line items only."
Note: Invoice line item exports are available for invoices created in 2025 or later.
Webhook-based automation
If you want invoice data pushed to your systems automatically — without manual exports — circuly's webhook functionality supports an Invoice with Items event type. Configure this in Settings > Webhooks to have complete invoice data delivered to your destination URL whenever a new invoice is generated.
How circuly invoicing handles real-world scenarios
The following scenarios illustrate how circuly's invoicing behaviour maps to common operational situations in physical product subscription businesses.
Scenario: Customer subscribes to a baby stroller rental
When the order is placed and the initial payment is charged, circuly generates an invoice for the first month (plus any setup fee) and sends it as a PDF attachment in the "Payment Was Successful" email. From the second month onward, a "Your Invoice" email with the recurring invoice attached is sent before each billing date.
Scenario: Customer damages a product and is charged a repair fee
The operator triggers a one-time payment from the circuly Hub. circuly generates a One-Time Transaction invoice and sends it to the customer automatically alongside the payment confirmation email.
Scenario: Customer wants to download their invoice from six months ago
The customer logs into the Self-Service Portal, navigates to "Your Invoices," and downloads the PDF directly. No support ticket needed.
Scenario: Invoice was generated with the wrong customer address
The operator cancels the incorrect invoice in the circuly Hub, triggering a formal cancellation record, and regenerates a new invoice with the correct address. Both documents are preserved in the system for audit purposes.
Scenario: Recurring payment fails because the customer's card expired
circuly retries automatically according to the configured retry schedule. Once the customer updates their payment method, the operator uses the Charge Invoice feature to manually trigger the outstanding invoice. On success, the customer receives a confirmation email.
Scenario: Customer cancels their subscription
When the subscription ends, any necessary cancellation invoice is generated as part of the offboarding process. The invoice history in the customer's portal reflects the complete financial record of their subscription.
Frequently Asked Questions
Does circuly automatically generate an invoice for every payment?
Yes. Every payment processed through circuly — initial payments, recurring charges, one-time payments, and refunds — triggers an automatic invoice. No manual invoice creation is required. This is a core part of how subscription billing automation works in circuly.
Do customers receive an invoice by email?
Yes, provided you are using circuly to handle invoice delivery (rather than routing invoices through an external bookkeeping tool). Each payment type triggers a specific email template that includes the invoice as a PDF attachment. Customers receive the invoice at or before the time of the charge.
Can customers download their invoices themselves without contacting support?
Yes. The circuly Customer Self-Service Portal includes a dedicated "Your Invoices" section where customers can download PDFs for all settled payments. The download icon must be enabled in Settings > Customer Login > Features (the "Hide invoice download" toggle must be off). See the full step-by-step guide for customers.
Are upcoming or unpaid invoices visible in the customer portal?
No. Only invoices for payments that have already been settled are shown. Upcoming charges are not displayed in the portal.
What happens if a recurring payment fails — is the invoice lost?
No. The invoice remains in the system with a "failed" status. circuly can automatically retry the payment based on your configured retry schedule — a process known as subscription dunning. Once the customer has resolved their payment issue, you can also manually trigger a payment attempt directly from the invoice using the Charge Invoice feature in the Hub. For a full overview of how circuly handles failed payments, see How Does circuly Deal With Failed Payments?
Can I charge a customer outside of the regular billing cycle — for example, for a damage fee — and still have an invoice generated?Yes. circuly supports one-time payments for exactly these situations. You trigger the charge manually from the Hub, and circuly automatically generates a One-Time Transaction invoice and delivers it to the customer by email.
What if a customer pays by bank transfer instead of through a payment method on file?
circuly's Mark as Settled feature lets you manually confirm that a payment has been received offline, updating the payment and invoice status in your records without requiring an automated charge through a PSP.
Can I fix a wrong invoice after it has been sent?
You cannot directly edit a sent invoice. Instead, circuly uses a cancellation and regeneration workflow: the incorrect invoice is formally cancelled (creating an audit record), and a new invoice is generated with the correct information. This is required for legal compliance in most jurisdictions.
What happens if a customer refuses to pay and retries keep failing?
After exhausting automatic retries, the invoice can be handed to a debt collection partner. circuly integrates natively with debt collection workflows — see What If a Customer Doesn't Pay? for more detail on how this process works end to end.
Can I export invoice data for my accounting software?
Yes. circuly supports both standard invoice list exports (filterable by date range, type, and status) and invoice line item exports for granular revenue analysis. You can also automate delivery of invoice data to external systems via webhook.
Related Topics
Invoicing in circuly is closely intertwined with two other operational areas covered in separate articles:
- Recurring Billing — the mechanics of how recurring payments are scheduled, triggered, and managed across billing frequencies, including how billing frequency changes affect invoice generation. Covered in detail in the Recurring Billing article.
- Bookkeeping — how circuly's payment and invoice data integrates with your accounting workflows, including revenue recognition, VAT reporting, and data export for external tools. See the Bookkeeping for a Subscription Business guide.
Summary: What circuly's Invoicing System Handles
- Invoice for every payment: Automatic generation for all payment types — no manual steps required
- Invoice delivered to customer: Via automated email with PDF attachment, triggered at charge time
- Customer self-service invoice access: Self-Service Portal with downloadable PDFs for all settled payments
- Invoice corrections: Cancellation + regeneration workflow with full audit trail
- Failed payment invoicing: Charge Invoice feature to retry; Mark as Settled for offline payments
- Refund documentation: Automatic Refund Invoice PDF sent with the refund notification email
- Custom invoice numbering and branding: Configurable in Settings > Invoice & Payments > Invoice Setup
- Accounting exports: CSV export by type/date range; line item export; webhook automation
- Legal compliance: Cancellation invoices, VAT fields, audit trail for all transactions




.png)




