Skip to content

Payment and billing

How purchasing a CodeCharter subscription works technically, which payment methods are supported, and what happens on cancellation.

CodeCharter is billed annually in advance. Three plans are available via self-service (Starter, Team, Business); Enterprise runs through the contact form. All payment processing is handled by Stripe; the invoicing entity is Bochmann Software GmbH in Germany.

Purchase flow

In the portal under /account/billing you select the plan and are redirected to the Stripe-hosted Checkout page. There you enter your company name, address, and VAT ID if applicable, choose a payment method, and complete the order. After a successful checkout you land back on the billing page and see the confirmation. The subscription becomes active within a few seconds once Stripe has delivered the checkout.session.completed event to our webhook. If there is a brief delay, the page shows the status with a short notice.

During an active trial you can switch to a paid plan at any time. Once the paid plan takes effect, the trial subscription is automatically ended — we do not keep both running in parallel.

Payment methods

The checkout offers three options, presented in this order:

SEPA direct debit is the most common choice in the DACH B2B market. Once you grant the mandate, Stripe debits the annual amount directly from your business account. Settlement takes approximately five business days. If a direct debit fails, Stripe automatically retries three times over 21 days and notifies you by email.

Credit card (Visa, Mastercard, American Express) charges the amount immediately. Recommended for international teams without a SEPA account.

Invoice with bank transfer sends a PDF invoice to your accounting address with a 14-day payment term. Stripe marks the invoice as paid automatically upon receipt of funds. The classic option for German accounting workflows when SEPA processing is not possible internally.

VAT

Calculation runs automatically via Stripe Tax. Customers in Germany see 19 % VAT added. Customers in the rest of the EU with a valid VAT ID are billed under the Reverse Charge mechanism at 0 %; Stripe validates the VAT ID against the VIES system directly in the checkout. Outside the EU, the recipient country's rules apply; contact us via the contact form if you have questions.

Changing plans (upgrade or downgrade)

On /account/billing as an active customer you see all three plans side by side. Your current plan is marked with a "Current" label; the others have buttons labelled "Review upgrade" or "Review downgrade" depending on direction. Both buttons lead to a confirmation page showing a concrete amount — only a second click on the explicitly labelled confirmation button ("Confirm upgrade" or "Schedule downgrade") triggers the Stripe action.

Upgrading to a larger plan takes effect immediately. The confirmation page shows the prorated amount including itemised VAT and the stored payment method (last four digits of card or last four digits of IBAN). After clicking "Confirm upgrade", the portal calls the Stripe API with proration_behavior=always_invoice. Stripe calculates the unused prorated credit from your current plan, applies it as a credit note, raises an invoice for the difference to the new plan, and charges it immediately against the stored payment method. You receive the prorated invoice by email. The new plan is active immediately.

Downgrading to a smaller plan is scheduled for the end of the current period. The confirmation page shows the new annual amount due at the switchover date; nothing is charged now. You keep the larger tier (seats, support SLA) until expiry — after all, it has already been paid for. Only on the renewal date does the plan drop to the smaller tier, and the next annual invoice is raised at the lower price. Technically we store this as a Stripe Subscription Schedule: phase 1 holds the current price until the end of the period, phase 2 starts with the new price.

While a downgrade is scheduled, the billing page shows a banner with the planned switchover date and a "Cancel downgrade" button. Clicking it releases the schedule and the current plan continues unchanged. If you want to upgrade again after scheduling a downgrade, simply click the upgrade button on the desired plan card — we automatically release the old downgrade schedule before applying the new change.

Payment method, invoices, and cancellation

For everything related to the running subscription (changing the payment method, downloading PDF invoices, cancelling the subscription), click the "Manage payment method, invoices, cancel" button on /account/billing. This opens the Stripe-hosted Customer Portal in a new tab with all these actions in one place.

What happens on cancellation

A cancellation in the Stripe Customer Portal marks the subscription with cancel_at_period_end. You retain full access until the end of the current annual period. The next invoice is not raised, and when the period expires the subscription is set to "Expired". Already-downloaded CLI binaries continue to run under their own embedded license until that license's expiry date — new downloads are no longer signed after the expiry date. More details at License file.

Immediate cancellation without the right to the remaining access period is not available. If you want to waive a paid period, contact us via the contact form and we will handle such special cases manually.

When a payment fails

When a payment fails, Stripe marks the subscription as past_due and retries three more times over 21 days. You receive reminder emails from Stripe in parallel with a link to update your payment method. During this phase your portal access remains active and the /account/billing page shows a corresponding notice. Only after all three retries have failed does the subscription lapse at the regular period end.