Engineering + Dev· April 21, 2026
Zero-Touch Invoicing: Automating Business with n8n and Local AI
How I eliminated manual data entry by building a pipeline that watches Airtable, triggers the Wave API, and uses a local AI agent to monitor Discord for unpaid invoices.
I used to manually create and send Wave invoices after every approved quote for Black Bell Co. It was tedious, so I decided to engineer a zero-touch pipeline. The goal: absolute automation from the moment I hit "Approved."
The Architecture
The Trigger
It starts in Airtable. When I review a quote and flip the Status field to Approved, it triggers an n8n webhook.
The API Layer (n8n + Wave)
n8n hits the Wave GraphQL API. It runs a customerCreate mutation for new clients, then invoiceCreate pulling line items directly from the quote, and finally invoiceSend. Wave emails the client directly. No pricing logic or internal margins are exposed—just the clean description.
The Handoff
n8n fires a POST request to a private Discord channel, logging the invoice number, total amount, and view URL.
The Autonomous Layer (OpenClaw)
This is where it gets interesting. I have a Mac mini running OpenClaw—a local AI agent gateway—exposed via Tailscale. OpenClaw monitors that Discord channel for the [INVOICE_SENT] string. Once it sees it, it starts a timer.
- Invoice unpaid after 7 days → OpenClaw drafts and sends a reminder email automatically
- 14 days overdue → pings me in Discord with an overdue alert
- "Has [Client] paid?" in Discord → bot queries the Wave API and reports back
I don't touch anything after the Airtable approval. The machines handle the money.