Clockify to Notion, invoices logged without copy paste
You send an invoice, then you do the “paperwork” after: copy the number, paste the amount, fix the date format, double-check you didn’t miss one. It’s boring, and it’s risky.
Clockify Notion invoices hit hardest when you’re moving fast. A freelancer closing out client work feels it. A small agency ops lead feels it during month-end. And a business owner sees it later, when cashflow views don’t match reality.
This workflow automatically logs every new Clockify invoice into a Notion database you choose. You’ll see what breaks when you do this manually, what the automation changes, and how to set it up cleanly so it stays reliable.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Clockify to Notion, invoices logged without copy paste
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>On new invoice in Clockify"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>Create database page"]
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 database
class n0 api
classDef customIcon fill:none,stroke:none
class n0,n1 customIcon
The Challenge: Keeping an Invoice Log Accurate
Invoicing is already a context switch. You create the invoice in Clockify, send it, then you open Notion (or a sheet) and try to recreate the same information so you can track cashflow, outstanding amounts, and what’s been billed this month. The “quick update” turns into a repeated chore, and it’s easy to skip when you’re busy. Later, you’re hunting through sent emails or Clockify exports to answer basic questions like “what’s overdue?” or “did we bill that retainer?” Honestly, the worst part is the mental load of knowing your dashboard might be wrong.
It adds up fast. Here’s where it breaks down in real teams.
- You end up entering the same invoice details twice, and the second entry is where mistakes sneak in.
- Dates get formatted differently across tools, which makes filtering by “due this week” unreliable.
- Someone forgets to log an invoice after sending it, so cashflow views look better than reality until the overdue reminders start.
- Audits (or even simple client questions) turn into a scavenger hunt through Clockify, email, and notes.
The Fix: Auto-Log Clockify Invoices Into Notion
This workflow creates a simple, dependable bridge between Clockify and Notion. When a new invoice is created in Clockify, Clockify sends an “invoice created” event to a unique webhook URL in n8n. n8n receives the payload, maps the invoice fields you care about (invoice number, issue date, due date, and amount), and then creates a brand-new page inside your chosen Notion database. From your side, nothing changes about how you invoice; you still build and send invoices in Clockify like normal. The change is what happens after. Your Notion database becomes the living invoice ledger, without anyone doing data entry, and without the usual “I’ll update it later” gap.
The workflow starts with a Clockify webhook trigger, so the moment an invoice exists, n8n knows. Then Notion receives a clean record with the fields already filled in. You can expand the database with extra properties (client, project, status), but the core invoice log works immediately.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you create 20 invoices a month. Manually logging each one into Notion is usually 5 minutes: open the database, create a page, copy invoice number, add issue date, add due date, paste amount, and sanity-check it. That’s about 100 minutes monthly, and that’s on a “good” month with no corrections. With this workflow, creating the invoice is still your only active step, and the Notion record shows up automatically a moment later. You get back roughly 2 hours, plus fewer clean-up sessions.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Clockify to create invoices and send webhooks.
- Notion to store the invoice database records.
- Notion integration credentials (create in Notion, then share the database).
Skill level: Beginner. You’ll copy a webhook URL into Clockify and map a few Notion fields.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A new invoice is created in Clockify. Clockify sends an “invoice created” event to an n8n webhook URL you configure once in the Clockify webhook settings.
n8n receives the invoice payload. The webhook includes the key fields you’d otherwise copy-paste, so n8n can pick out invoice number, issue date, due date, and amount reliably.
Notion gets a new database page. n8n creates a page in your chosen Notion database and fills the properties you set up (including your renamed “Invoice number” field).
Your team works from the Notion ledger. Views like “Overdue,” “Due this week,” or “This month billed” stay accurate because the database updates as invoices are created.
You can easily modify the Notion properties to include client names, project IDs, or a payment status based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up the incoming webhook that receives invoice data and starts the workflow.
- Add the Invoice Webhook Trigger node as your trigger.
- Set HTTP Method to
POST. - Set Path to
8af31ab8-e16a-4401-84b7-b246c65ba6a9. - Leave Options empty unless you need additional webhook settings.
- Ensure Invoice Webhook Trigger is connected to Generate Notion Record.
Step 2: Connect Notion
Configure the Notion integration to create a new database page for each invoice.
- Add the Generate Notion Record node.
- Credential Required: Connect your notionApi credentials.
- Set Resource to
databasePage. - Set Database ID to
[YOUR_ID](replace with your actual Notion database ID). - Set Title to
={{ $json["body"]["number"] }}.
⚠️ Common Pitfall: Leaving [YOUR_ID] in Database ID will cause the Notion API call to fail. Replace it with your real database ID.
Step 3: Map Invoice Properties to Notion Fields
Map the webhook payload to your Notion database properties for complete invoice records.
- In Generate Notion Record, open Properties.
- Add the property Issue date|date and set Date to
={{ $json["body"]["issuedDate"] }}. - Add the property Due date|date and set Date to
={{ $json["body"]["dueDate"] }}. - Add the property Amount|number and set Number to
={{ $json["body"]["amount"] }}. - Confirm the webhook payload contains
number,issuedDate,dueDate, andamountin thebodyobject.
Tip: Ensure the Notion property names (e.g., Issue date|date) match the exact schema in your Notion database.
Step 4: Test and Activate Your Workflow
Validate the webhook-to-Notion flow and activate it for production use.
- Click Execute Workflow in n8n to start a test run.
- Send a test POST request to the Invoice Webhook Trigger URL with a JSON body that includes
number,issuedDate,dueDate, andamount. - Verify a new page appears in your Notion database with the correct title and properties.
- If successful, switch the workflow to Active to process live invoice submissions.
Watch Out For
- Notion credentials can expire or need specific permissions. If things break, check the database sharing settings (the Notion integration must have access) and then reselect the credential in n8n.
- Clockify webhooks are picky about the exact URL and event selection. If you’re not seeing anything hit n8n, confirm you chose the “Invoice created” event and that the webhook URL matches the one shown in the n8n Webhook node.
- Notion property types must match what you send. If “Amount” is a Text property instead of Number, values can fail silently or land messy, so fix the database schema first.
Common Questions
About 30 minutes once your Notion database is ready.
Yes. You’ll mostly be copying a webhook URL into Clockify and matching fields to Notion properties. No coding required.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Notion and Clockify plan limits (webhooks and API access depend on your setup).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can add extra Notion properties and map them in the “Generate Notion Record” step, like client name, project, invoice status, or a link back to Clockify. Many teams also add a “Paid?” checkbox and then use a second automation to update it from your payment tool. If you later want this to run on a schedule too, you can add a Cron trigger and keep the same Notion-create step for backfills.
Most of the time it’s permissions. The Notion integration must be shared to the exact database you’re writing into, and the credential in n8n must match that integration. If it worked before and suddenly stopped, re-authenticate the Notion credential and confirm the database still exists and hasn’t been duplicated.
For most small teams, it’ll handle invoice volume without effort.
Often, yes, because n8n is comfortable with webhook-first automations and you can self-host for unlimited runs. It’s also easier to extend later if you decide you want validation rules, deduping, or a second step like posting an alert when a big invoice is created. Zapier or Make can work too, but webhook setups sometimes end up on higher tiers, and more complex logic can get expensive. The bigger point is reliability: you want one clean invoice record, every time. Talk to an automation expert if you want a quick recommendation based on your invoice volume and tools.
Once this is running, your invoice ledger updates itself, quietly, in the background. That’s the kind of automation that keeps cashflow views honest and frees you up for work that actually pays.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.