Getting paid
Billr collects card payments through your own Stripe account. Billr takes 0%, never holds the funds, and never stores a key that could move money.
Connect your Stripe account
Go to Agents → Payments in your dashboard and connect Stripe. You are handed to Stripe, you authorize Billr, and you come back. Billr stores only your Stripe account id, which cannot be used to charge anyone or move money. You can revoke Billr's access from your own Stripe dashboard at any time.
Connection is per business, so each brand you run connects its own Stripe, or none at all. If a business has no Stripe connected, nothing breaks: the invoice sends and renders exactly as it does today, and you arrange payment with the client however you already do, recording it with record_payment or from the dashboard when it arrives.
Connected is not the same as ready to charge. Stripe often needs to verify your identity and bank details first, and the pay button stays off until Stripe says the account can accept charges. The Payments tab shows which state you are in.
On fees
Billr is free forever and charges no platform fee, no per-invoice fee, and no cut of what you collect. Stripe charges its own processing fee on card payments, taken out of your payout by Stripe. Billr adds nothing on top of it.
How your client pays
The card form is embedded in the Billr invoice page at /i/<id>, carrying your logo, your colors, and your invoice number. Your client never gets bounced to a checkout branded as someone else, and you configure your branding once, in Billr.
Card details go from your client's browser directly to Stripe. Billr never sees a card number. The amount charged is always re-derived from the invoice on the server, so it cannot be tampered with in the browser.
Stripe confirms the result back to Billr over a signed webhook, and that confirmation is what marks the invoice paid. Refunds and disputes raised in your Stripe dashboard flow back the same way, so the invoice does not sit there claiming it was paid when it was not.
Test your checkout first
Once Stripe is connected, the Payments tab offers Test your checkout. It runs a real test-mode payment against your own connected account, through the same code path a real payment takes, so you can watch it land before a client ever sees a payment link.
- 1Billr opens a small test payment on your connected account, in the business currency.
- 2You pay it with a Stripe test card, on the same payment form a real client would use.
- 3Stripe charges the card in test mode against your account. No real money moves.
- 4Stripe sends Billr a signed confirmation, which is exactly what marks a real invoice paid.
- 5You get a link to the charge in your own Stripe test dashboard, and a button to clear the test.
Stripe test cards
4242 4242 4242 4242A clean approval. Try this first.
4000 0025 0000 3155Stripe asks for an extra authentication step before approving.
4000 0000 0000 9995Insufficient funds. Shows what a client sees when a card fails.
Any future expiry date and any CVC work with these.
Your real numbers do not move
A test does not create a sample invoice, a sample client, or a payment record. It is a standalone charge on your Stripe account, and the only thing Billr writes locally is a row in a table that no revenue query reads. Nothing on your dashboard, in any report, in a revenue summary, or in any agent tool can shift because you ran a test, by construction rather than by filtering. The test also never emails anyone.
What agents can see
Connecting Stripe needs a browser and a human, so no agent can do it. Reading the result is another matter.
get_payment_statusOne invoice's status, amount paid, balance due, whether it is overdue, and the payment history behind it. When online payments are live for that business it also returns the link a client can pay from. If the recorded payments do not add up to the invoice's paid amount, the result says so rather than quoting a number that might be wrong.
record_paymentFor money that arrived outside Stripe: a check, a wire, a bank transfer. Card payments record themselves through the webhook, so there is nothing to enter by hand.
get_invoice_linkThe client-facing invoice URL, which is the same page the payment form is on. This is what an agent hands you when you ask it to chase someone.
Which of my invoices are still unpaid, how late is each one, and give me the payment link for the worst offender.
Not connected to an agent yet? Connect your agent takes about a minute.