One button, one invoice: wiring a CRM to Stripe
The gap between 'we agreed on a price' and 'the customer has an invoice' is usually a human copy-pasting between two systems. We closed it with a small bridge.
We run a self-hosted CRM to track leads and deals. Stripe handles invoicing. The annoying part lived in between: someone had to read a deal in one system and re-type it into the other. That's exactly the kind of small, repetitive, error-prone task worth automating once and forgetting about.
The shape of the fix
We built a tiny bridge service: its own container, one job. The CRM has a workflow button labeled "Send Invoice." Clicking it calls the bridge with a record id. The bridge pulls the opportunity, creates a Stripe invoice from it, and then writes the resulting invoice id and URL back onto the CRM record so the salesperson sees it without leaving the CRM.
Making it safe to demo
Anything that can send a real invoice is something you want to test without sending real invoices. The bridge flips between draft and live mode with a single setting, so the whole flow can be exercised end to end in draft (invoice created, link written back, nothing actually billed) until you're ready to go live.
The lesson
This isn't clever software. It's about 200 lines that delete a recurring chore and a class of copy-paste mistakes. Most of the automation worth doing for a small business looks exactly like this: unglamorous, narrow, and quietly saving someone ten minutes every time.
Working on something similar?
We help turn rough technical problems into practical first versions. Send a short message and we can figure out the next step.
Book a call →