Stack Labs ERP
The system Stack Labs built to run Stack Labs.
Seventeen screens that take a business from prospecting to recurring revenue: find the client, size the return, send the proposal, collect the signature, run the project and bill it.

The project
Before selling software to anyone, Stack Labs solved a problem of its own. A company that sells custom work goes through six stages before the money lands — prospect, qualify, quote, sign, deliver, bill. Without a system, each stage lives in a spreadsheet, a notebook or a WhatsApp thread. What gets lost isn't the data: it's the link between the stages.
The proposal the client approved doesn't talk to the contract that was signed; the contract doesn't talk to the project the team delivers; the project doesn't talk to the invoice. Ask “how much has this client actually brought in?” and the answer takes twenty minutes and comes out wrong. Stack Labs ERP exists so that question has a one-click answer.
Each stage creates the next one already filled in. A prospect becomes a lead with nobody retyping anything. The ROI study becomes a proposal. The proposal becomes a contract. The signed contract opens the project, generates the invoice and books the kickoff meeting. Each instalment becomes a real charge, the contracted plan becomes a recurring subscription, and a support ticket months later already knows whether it's covered by that client's contract.
It's the most honest demonstration Stack Labs can offer: not a pretty prototype built to impress in a meeting, but the tool the company runs on every day. The proposal you received, the contract you'll sign and the tracking of your project all come out of here. If this is the bar Stack Labs holds itself to, it's the same bar it delivers to you.
What it delivers
Prospect to recurring revenue, no retyping
Every stage hands the next one its data ready. Nobody copies information between spreadsheets — which is why nothing falls through the gap between interest and payment.
Billing that runs itself
An instalment becomes a real charge automatically and the client pays by instant transfer, bank slip or card. When the money lands, the invoice is settled on the spot — no one checks a bank statement.
Subscriptions that bill themselves
The contracted plan becomes a recurring charge that repeats every month. Recurring revenue only works when billing doesn't depend on somebody remembering.
Finds clients across six databases at once
Google Places, the Brazilian federal business registry, HERE Maps, Foursquare, OpenStreetMap and Mapbox in a single search, duplicates merged and every business scored by real opportunity.
The price justified before it's quoted
The ROI study takes the client's own numbers and returns monthly gain, payback period and cash flow. The proposal arrives after the math, not instead of it.
Contracts signed in the browser
The client checks the terms, draws a signature and accepts. The system freezes exactly what was agreed at that moment — no paper, no notary, no PDF going back and forth.
Calendar wired into Google Calendar
An appointment booked in the system lands in the calendar the team already uses on their phones. No double entry, no switching tools.
Who did what, always on record
Every change lands in a read-only, exportable audit log. In a system that handles money, knowing who touched what isn't a luxury.
The screens











How it was built
Seventeen screens across five groups — overview, sales, finance, delivery and administration — all on a single database. That's what makes “how much has this client brought in?” an instant answer.
No screen decides on its own what may happen: permissions are checked on the server on every request. Hiding a button is convenience; the real lock happens before data is read or written.
Money is stored to the cent and dates carry their time zone — the two classic mistakes that only surface once they're already a problem with the accountant.
Financial records are never truly deleted: they're flagged as removed and disappear from the screen, but stay in history. One wrong click doesn't cost a year of revenue.
Five routines run on their own: expiring stale proposals, chasing forgotten follow-ups, flagging deadlines and bills due, generating backups and sending the daily summary. Each checks what's already been done before acting.
Sixteen test suites run against a real database on every change, before anything reaches production.
Technologies
- Next.js 15
- React 19
- TypeScript
- PostgreSQL 16
- Prisma 6
- Tailwind CSS 4
- Asaas
- Google Calendar API
- Google Places API
- Servidor próprio
Internal Stack Labs system, hosted on our own server with no public access. Shown here as a demonstration of technical capability, not as a product for sale.
