Automated recurring invoices


We have a monthly membership program, and we need to do 2 things:

  1. We need to create an automated invoice every month for each member, based on their monthly membership date in their Customer table. Can Airtable automate monthly invoices for each of our members every month on their monthly due date? Or do we need to manually generate invoices, one at a time?

  2. Each customer is linked to a purchases table, where we keep track of the purchases that they have made over time. Is there any way to have Airtable add these purchases into their monthly invoice — BUT ONLY IF THESE PURCHASES FELL WITHIN THE DATE RANGE of their last invoice and their new invoice?

Thanks for any help with these issues! :slight_smile:



I don’t think that Airtable alone could do this for you.

But Airtable integrates nicely with other tools that can. For example, Airtable has a SendGrid Block that allows you to send automated emails based on templates that pull data from your Airtable tables. You could build a “Monthly Invoice” template that sends an email to each Customer with their monthly bill.

Another option is to use Zapier. You could set up a view that filters such that when a Customer Monthly invoice needs to be sent out, the record appears in that view. When Zapier detects a new record in that view, it sends out an email with the invoice information pulled from your Airtable tables.

There are probably several other good options that I’m not aware of as well.



Thanks so much, @Jeremy_Oglesby, for your reply! Great tips & ideas! :slight_smile:

Do you know of any way to have Airtable pull in just the last month’s worth of purchases (“line items”) for each customer onto their invoice?



That could depend on what you end up using for building your invoice, but typically the way you’d do this is by creating a view that filters to show only the last months worth of purchases for a customer, and have some field, probably a checkbox field, that gets checked when the line item has been invoiced. So the filter would show only items where “Purchase Date” is in the last 30 days and where “Invoiced” is not checked. The records in that view are used to build your Invoice, and then they get marked as “Invoiced” and are no longer in that view from that point forward.

Most Airtable automation is going to revolve around moving records through various views based on the filters on those views.



Thanks so much, Jeremy. I’m totally onboard with the filtering.

But I guess I’m unsure about how I would tell each individual invoice (in the invoices table) to only “build” the line items for one particular customer while also respecting the 30-day/non-invoiced filter for that particular customer. It seems like the invoice table wants to bring in the line items for ALL customers that are 30-day/non-invoiced.

Once I’m able to figure that out, it brings up the other issue which is that I don’t know how to permanently keep each invoice static from that point forward. The “linking record” functionality is very dynamic, so it is always changing the data that it displays. So each invoice is constantly showing new information, instead of being “locked down” to one set of data per invoice.

Thanks again! :slight_smile: