Complete Guide to Generating Invoices from Airtable with Typeflow
Creating and sending invoices is an essential but time-consuming task for any business. If you're using Airtable to manage your clients and projects, you're already halfway to a more efficient invoicing system.
In this step-by-step tutorial, we'll show you how to automatically generate professional invoices directly from your Airtable data using Typeflow - no coding required.
By the end of this guide, you'll have a fully automated invoice generation system that:
- Creates professional-looking invoices with your branding
- Automatically pulls client and project data from your Airtable base
- Saves hours of manual work each month
- Ensures accuracy by eliminating manual data entry
Let's get started!
What You'll Need Before Starting
Before we begin, make sure you have:
- An Airtable account with client and project data
- A Google account (for creating templates in Google Docs)
- A Typeflow account (you can sign up for free here)
Step 1: Set up Your Airtable base for invoicing
Before connecting to Typeflow, you'll need to make sure your Airtable base has all the necessary information for generating invoices.
Creating a Basic Invoice-Ready Airtable Structure
If you already have a client management system in Airtable, you can adapt it. If not, here's a simple structure to get started:
1. Create a "Clients" table with these fields:
- Client Name (Single line text)
- Contact Person (Single line text)
- Email (Email)
- Phone (Phone number)
- Address (Long text)

2. Create a "Projects" table with these fields:
- Project Name (Single line text)
- Client (Link to Clients table)
- Project Description (Long text)
- Project Status (Single select: In Progress, Completed, Invoiced, Paid)
- Start Date (Date)
- End Date (Date)

3. Create a "Line Items" table with these fields:
- Description (Single line text)
- Project (Link to Projects table)
- Quantity (Number)
- Rate (Currency)
- Amount (Formula:
{Quantity} * {Rate}
)

Add an "Invoices" table with these fields:
- Invoice Number (Auto-number or Formula)
- Client (Link to Clients table)
- Project (Link to Projects table)
- Issue Date (Date)
- Due Date (Date)
- Status (Single select: Draft, Sent, Paid, Overdue)
- Line Items (Link to Line Items table)
- Subtotal (Rollup: SUM of
{Line Items}→{Amount}
) - Tax Rate (Percent)
- Tax Amount (Formula:
{Subtotal} * {Tax Rate}
) - Total (Formula:
{Subtotal} + {Tax Amount}
) - Notes (Long text)
- Invoice PDF (Attachment - this is where Typeflow will store your generated invoice)

If you want to copy the base, click here!
Pro Tip: You can create a view in your Projects table that filters for "Completed" projects that haven't been invoiced yet. This makes it easy to see what needs to be billed.
Step 2: Create Your Invoice Template in Google Docs
Typeflow uses Google Docs as a template engine, making it incredibly easy to design professional invoices without learning a new system.
1. Open Google Docs and create a new document
2. Design your invoice template with your company logo, contact information, and styling
3. Add placeholders for dynamic data using double curly braces: {{placeholder}}
Here's an example of an invoice template:

Pro Tip
It is better if your placeholder names match the field names you'll be mapping in Typeflow. For Airtable fields with a name invoice data , using the {{invoice_data}}
placeholder is recommanded.
The template includes a special variable {{loop_0}}
that will be used to loop through the line items. This variable will allow you to access to fields in the line items table.
Save your template in Google Docs with a clear name like "Invoice Template".
Step 3: Connect Typeflow to Your Airtable Base
If not already done, Now it's time to connect Typeflow to your Airtable base:
1. Sign in to your Typeflow account
2. Visit this link to integrate Airtable with Typeflow: Integrate Airtable with Typeflow
3. Select "Connect to Airtable"
4. Authorize Typeflow to access your Airtable account
5. Select the base and table you want to use (in this case, your Invoices table)
Step 4: Set Up Your Invoice Generation Flow
Once connected, you'll need to configure your flow in Typeflow:
1. Sign in to your Typeflow account
2. Click "Start a new automation workflow"
3. Select "Google Docs"
4. Pick your template

Now connect Typeflow to your Airtable base:
1. Select your Airtable base from the dropdown menu

2. Choose the specific table where you want to generate your PDF (in your case the Invoices table)

3. Set up the attachment field where generated PDFs will be saved

Pro Tip
If you want to adjust the currency formatting of your invoice, you can use adjust your locale settings and check the locale format. It will return the currency formatting of your locale.

4. Map Airtable fields to your template variables

Pro Tip
No need to add rollup fields to have access to fields from another table!
- Pick the linked record field from your main table
- Click the three dots and select "Configure Linked Fields"
- From there select the field you want to access
And if you need to access a field from a lower table, you can do the same process!

- For the line items, select your linked Line Items field

5. Identify any attachment fields you want to include
6. Verify field accessibility and permissions
7. Optionally set a custom filename format like "Invoice-{{Invoice_Number}}-{{Client_Name}}
"
Pro Tip
Test your template with a few records to ensure proper mapping, before moving forward.
Step 5: Automate your Invoice Generation Flow
Method 1: The Classic Implementation
To make invoice generation even easier, you can add a button directly in your Airtable base:
1. In Typeflow scroll to the bottom of the page and click on " Classic Implementation"
2. Copy the URL, it should look like this: "https://app.typeflow.us/api/generate-doc?record_id="&RECORD_ID()&"&table_id=xxx&flow_id=xxx"

3. Go to your Airtable table Invoices
and add a new button field

4. Paste the URL from Typeflow to the URL Formula

Now whenever you want to generate an invoice, you can click the button in Airtable and it will generate the PDF for you.
Method 2: The Advanced Implementation
For this one you can use Airtable Automation if you have a paid account, or if you don't have a paid account you can use Make.
In this example, we will use the Airtable Automation. For the purpose of this article, we will trigger the PDF genration whenever the field Status, for any invoice, is equal to "Ready".
-
Go to Automation in Airtable
-
Click on "Add a trigger" and Choose When a Record matches a condition
3. Select the table you want to trigger the automation on (in this case the Invoices table)
4. Select the field you want to trigger the automation on (in this case the Status field)
5. Select the condition you want to trigger the automation on (in this case "is")
6. Select the value you want to trigger the automation on (in this case "Ready")

7. Now choose a record that matches the condition
8. Now click on Add an advanced logic or action
9. Pick Run Script. A new popup appears.
10. Go back to Typeflow and select Automation in Airtable. Copy the script.

11. Paste the script in the popup.

12. In the left-side of the popup, do not forget to configure the variable input, record_id. You need to select Airtable Record ID from the dropdown. See the image.

13. Test your script, and see if it works. Adjust if needed (most of the time the error comes from the record_id variable - see step 12).

14. Now name your automation and save it.
15. Create a new automation, we will use it to send the PDF to the client.
16. Add a trigger. We will use the When a Record matches a condition trigger.
17. This time, the trigger is when the Invoice PDF is generated.

Pro Tip
Do not necessarily reproduce this trigger. Always try to find the best trigger for your use case. Sending invoices to clients without double checking can be risky. Feel free to implement safeguard.
18. Add another action, to send the PDF to the client via email.

19. Test your automation and make sure it works.
20. Add another step to update the status of the invoice to "Sent".

Now your flow is ready. Test it carefully to see if it works well.
Best Practices for Integration
Test and Verify Before running large-scale exports, always:
1. Start with 2-3 sample records to validate your template
2. Check field mapping accuracy across different record types
3. Ensure all dynamic content renders correctly
Common Issues and Solutions
If your PDFs show missing or incorrect data:
1. Verify field names match exactly between Airtable and template
2. Check for special characters or spaces in field names
3. Confirm field types are compatible
4. Test with known good data
5. Contact support
Pro Tip
Using Make for robust automation is a solid choice. Indeed, while Airtable automation is powerful, it is not as flexible as Make. Besides, it can fail from time to time in some situation like sending an email with an attachment field.
Flexible and Simple Pricing Model
At Typeflow, we think generating PDFs with Airtable data should be simple and affordable. Our pricing model is designed to be transparent and flexible, making it accessible for businesses of all sizes.

Frequently Asked Questions
Find answers to the most common questions about this feature.
Popular Questions
All Questions
Need more help?
Our team is here to help you solve all your problems and answer your questions.
Contact Us