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.