What SaaS Billing Still Needs a Manual Invoice For

· 5 min read

Your subscription billing runs itself. Cards charge on the first, renewals renew, dunning emails go out when a card fails. Then a 200-seat deal comes in, and the buyer's procurement team says they need an invoice with a PO number on it, net 45 terms, and their legal entity in Delaware rather than the brand name on the signup form. None of that fits the automated billing you already set up. So you open a spreadsheet, or worse, a Word doc.

That gap is predictable. It shows up in the same handful of deals every quarter. Here is exactly where automated SaaS billing stops, and what to send instead.

The annual enterprise deal that needs a PO number

Automated billing charges a card. A large B2B buyer does not pay by card. Their accounts payable team pays against a purchase order, and if the purchase order number is not printed on the invoice, the invoice gets rejected and sits in a queue until someone chases it.

The problem is timing. The PO often does not exist when the deal closes. Procurement raises it a few days later and emails you the number. With a subscription charge, there is nowhere to put it. You end up reissuing a document and hoping AP matches it to the right PO.

A manual invoice handles this cleanly when the buyer can add the PO themselves. On JupiterInvoice, the recipient opens the invoice link, types in their PO number, and you get notified. It is tracked as an amendment on the current invoice, not a new document floating around their inbox. We wrote up the full flow in adding a PO number after the invoice was sent, because it is the single most common reason a B2B invoice stalls.

Net 45 terms and a due date procurement will respect

Subscription billing assumes payment on the billing date. Enterprise buyers assume the opposite. They run net 30, net 45, or net 60, and their AP calendar is non-negotiable. Charging their card on the renewal date is not an option they offered you.

So the annual contract needs an invoice with an issue date, a stated term, and a due date that matches what the contract says. If you bill a $48,000 annual renewal and the terms read net 45, the money lands six weeks out, and your cash flow planning needs to know that. A manual invoice is where you set those terms per customer instead of per product.

If you are deciding which deals genuinely need this, when Stripe Invoicing is enough and when it isn't is the honest version of that line. Small self-serve customers do not need any of this. The deals that do are the ones that pay for a sales team.

The buyer's legal entity is not the name on the account

Someone signs up with a work email and the product name. Finance pays from a different registered entity, at a different billing address, with a specific AP contact who has to receive the invoice before anyone approves it. Automated billing has one customer record. The real billing relationship has three or four moving parts.

This is where editable recipient fields earn their place. Instead of you guessing the billing entity and getting it wrong, the recipient corrects it on the invoice itself. JupiterInvoice lets the customer edit their own billing details, set their AP contact, and forward the invoice to accounts payable without you playing telephone. You are notified of every edit and can revert anything that looks off.

Getting the entity wrong is not a cosmetic mistake. AP teams reject invoices for a mismatched name the same way they reject a missing PO. The reasons behind that are laid out in invoice mistakes that get you bounced by AP.

Overages, one-off setup fees, and mid-cycle changes

Metered usage that spikes, a one-time onboarding fee, a custom integration you built for one account, a credit you promised in a renewal negotiation. These do not fit a flat subscription line. You can sometimes bolt them onto the next charge, but then the customer sees a number that does not match their expectation, and you are explaining it in an email thread.

A manual invoice gives you itemized line items the buyer can read and question in one place. If they dispute the overage, they comment on the invoice instead of disputing the charge after their card is already hit. You decide whether to adjust pricing or terms, since those fields stay yours to set. Content changes create a new version, so there is a clean record of what changed and when. The difference between a version and a tracked amendment is covered in invoice versions vs amendments.

How to split the two without running two systems

Keep automated billing for what it is good at: self-serve plans, card payments, renewals that just renew. Send a manual invoice for the deals that carry a PO, custom terms, a separate paying entity, or line items a buyer needs to approve before AP will touch them.

You do not need a second accounting suite for the manual side. JupiterInvoice covers the parts of B2B invoicing that subscription billing won't do, and you can keep taking card payment on those invoices by connecting your own Stripe account. If you want to generate these invoices from your own system, there is a REST API and MCP server so your billing code can create and manage them directly.

Start with the next enterprise renewal that needs a PO. Create the invoice, send the link, and let the buyer add their PO number and AP contact themselves. That is the whole gap, closed.

Send an invoice your customer can actually respond to

JupiterInvoice lets recipients add PO numbers, update billing details, comment, and forward to AP, all from a private link. No account needed on their side.

Create an invoice