How to create automated 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)
Airtable Clients table showing fields for Client Name Contact Person Email Phone and Address for invoice generation

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)
Airtable Projects table with fields including Project Name Client link Project Description Status Start Date and End 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})
Airtable Line Items table displaying Description Project link Quantity Rate and calculated Amount formula field

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)
Airtable Invoices table with Invoice Number Client Project Issue Date Due Date Status Line Items Subtotal Tax Rate Tax Amount Total Notes and Invoice PDF attachment fields

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:

Google Docs invoice template with company branding placeholders for client information invoice details and loop_0 variable for dynamic line items table

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

TypeFlow Google Docs template picker showing available invoice templates from Google Drive to select for automation

Now connect Typeflow to your Airtable base:

1. Select your Airtable base from the dropdown menu

TypeFlow base selection dropdown displaying all connected Airtable bases available for invoice generation

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

TypeFlow table selection dropdown showing all tables within the selected Airtable base including Invoices table

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

TypeFlow attachment field selector showing Invoice PDF field where generated invoice PDFs will be automatically 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.

TypeFlow locale settings showing currency formatting options to match invoice number date and currency formats to regional standards

4. Map Airtable fields to your template variables

TypeFlow field mapping interface displaying template variables on the left matched to Airtable invoice fields on the right with auto-map functionality

Pro Tip

No need to add rollup fields to have access to fields from another table!

  1. Pick the linked record field from your main table
  2. Click the three dots and select "Configure Linked Fields"
  3. 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!

TypeFlow configure linked fields dialog showing how to access fields from related Airtable tables without creating rollup fields
  1. For the line items, select your linked Line Items field
TypeFlow line items configuration showing how to map linked Line Items table fields for loop_0 variable in invoice template

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"

TypeFlow Classic Implementation section displaying the API URL with record_id parameter for button-triggered invoice PDF generation

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

Airtable interface showing Add Field menu with Button field type selected for creating invoice PDF generation button

4. Paste the URL from Typeflow to the URL Formula

Airtable button field configuration dialog showing URL formula field where TypeFlow API endpoint is pasted for invoice generation

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".

  1. Go to Automation in Airtable

  2. 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")

Airtable Automation trigger configuration showing Status field condition set to Ready to trigger invoice PDF generation

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.

TypeFlow Automation in Airtable section displaying JavaScript code to copy for Airtable automation script action

11. Paste the script in the popup.

Airtable Run Script action dialog showing TypeFlow automation script pasted into the code editor

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.

Airtable script configuration panel showing record_id variable mapped to Airtable Record ID from the automation trigger

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).

Airtable automation test results showing successful execution with green checkmark and invoice PDF generation confirmation

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.

Airtable automation trigger configured to run when Invoice PDF attachment field is not empty to send generated invoice to client

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.

Airtable automation Send Email action configured to email invoice PDF attachment to client with custom message

19. Test your automation and make sure it works.

20. Add another step to update the status of the invoice to "Sent".

Airtable automation Update Record action configured to change invoice Status field to Sent after successful email delivery

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.

TypeFlow pricing table showing transparent flexible plans with document generation limits and monthly costs for different business sizes

Frequently Asked Questions

Find answers to the most common questions about this feature.

You can do that by using the Airtable automation feature or using a third party tool like Make or Zapier. It will then be possible to fully automate your workflow based on different criteria and triggers. Feel free to ask support if you need help with that.
Yes, Typeflow has an API.
You need to use Google Docs to build a template for invoices with Typeflow. It is a simple and easy way to create a template for invoices with Typeflow. You can checkout this page to download an invoice template: <a href="https://www.typeflow.us/templates/category/invoices">Invoice template</a>
In your template, you will need to build a table with the variable {{loop_0}}. Thanks to this variable, it says to Typeflow that you want to use line items. And automatically based on the number of line items, the table will adjust automatically in size.
You can use the variable {{image_xxx}} to include an image in your invoice. Replace xxx with whatever you want

All Questions

Need more help?

Our team is here to help you solve all your problems and answer your questions.

Contact Us
Kevin Rabesaotra

Kevin from TypeFlow

Author

Kevin Rabesaotra is a growth engineer and automation specialist with 8+ years of experience building no-code solutions. As Founder & CEO of TypeFlow, he has helped hundreds of businesses automate document generation and streamline workflows with Airtable integrations. Previously, Kevin was a Product Lead specializing in growth engineering, running experiments to drive revenue, retention, and lead generation.

Was this page helpful?