When a client signs your proposal, Flowtab sends the deposit invoice, creates the project and posts the kickoff in Slack. It reads the numbers from the signed PDF and checks them before any money is requested.
The same flow most agencies run manually on a Friday afternoon, done in about three seconds and logged step by step.
The signed PDF is downloaded and kept with the run.
Client, total, deposit, payment terms and milestones.
Milestones must equal the total. If not, the run stops and you get a message.
Sent from your Stripe account with your terms.
Board from your template, a client channel, the team invited.
10:58:12 extract ok · 3 milestones 10:58:12 check failed milestones 7900 ≠ total 8400 10:58:12 stopped before invoice · nothing sent 10:58:13 slack @sam: "Halden proposal totals don't match, page 4. Fix the PDF or set amounts manually." 11:06:40 resumed by Sam with total 8400 → invoice sent
If the extracted figures don't reconcile, no invoice goes out. Someone is told exactly which page to look at.
Every invoice request carries an idempotency key, so a retry after a timeout never sends a second one.
When an app disconnects, runs wait at that step and continue after you reconnect.
Anything over your limit is sent to you in Slack to approve first.