The Right Way to Build an Inventory in Airtable

Below: New Products Summary table with stock by size & Rollup field to do so

Red arrow: is this a good interpretation of what you advised when saying "Now in the summary table, you can create Rollup field types that summarize inventory of each product by size using the controls in the Rollup to sum only records that are size S etc. "?

(sorry for multiple posts I’m not allowed by the system to post more than one screenshot at a time)

Below: Products summary Gallery with Stock by size

Hi Jeremy, yes this is exactly what I was thinking! Does this get you what you were looking for?

And yes I agree about the picture or material composition fields: If the same picture is used for all sizes of a product, it makes sense to set the picture in the “Product Summary” table and then you can look it up in the “Products” table so you don’t have to add it twice. Another way to look at these two tables is that “Product Summary” is actually “Products” and “Products” is really “Product Variations”. Same relationship, but a different way to name it.

1 Like

Yes it’s what I was looking for. I’ll have to adapt a bit to my business which is a little bit more complex than our example, but it helps a lot. Many thanks again!

1 Like

Hello, i love the idea of this and i am trying to implement this for my business, but i want to keep track of the stock i have of each size of shirt that i have, how would I do this?

Hi Jon! Welcome to the community. I recommend checking out this post, where I offered a solution for Jeremy, who had the same goal. Take a look and let me know if you have any follow up questions.

Hi there, thank you for the very helpful video. I also have clothing stock that i want to record by size - I saw your post to Jeremy, i havent worked through this solution yet as i wanted to check something else first. I am going to be selling clothing at an event and want to use the Sold form for the staff (without logins to airtable) to record the outgoing stock with each customer, and have it linked to the inventory. Ive set up my base as you showed in your video. But is it possible to make size a field on the sold form? That then also links to the product table, and overall stock levels? Otherwise unless i am mistaken staff would need to select the product id on the sold form, and then scroll through a long list of each sized garment. Thank you for your assistance!

I have now also created the product summary table with roll ups from Jeremy’s question, but is there a way to change the form so you can select product type and then size without scrolling through the long list of product ids? Thank you!

What a great tutorial. Thank you Julian. A final step that I would love to add is some way of seeing visually or even being notified through an automation that the inventory for a particular product is low.

The quantity that triggers the warning would be different for each product, but I’d like to be pinged when it’s time to reorder something.


Hi Julian, thank you for all your helpful videos. I tried to add in the formula for my airtable form automation but I’m running into an issue when I try to check that the form works. The error message states “Sorry, the page you were looking for was not found.” I have a date and time field name and format within my form so I believe that added abit of complexity.

Sign in - Airtable’ &

‘DATETIME_FORMAT({Available Appointment Time and Date}, “YYYY-MM-DDTHH:mm:ss.SSSZ”)’ &

‘?’ &

‘prefill_Guest%20ID=’ & RECORD_ID() & ‘&’ &

‘prefill_Guest%20Name=’ & ENCODE_URL_COMPONENT({First Name}) & ‘&’ &


Thank you so much! That was very efficient video for me.

Hi Sammie, Welcome to the forum! What is the purpose of the DATETIME_FORMAT function there? the beginning URL and end prefills look good (I’m assuming this is an interface form?) But a DATETIME_FORMAT function is used to output a string of text. If you want to use it to prefill a field with that date as text, it would look something like:

'prefill_Field=' &

This would be a great addition!

Hi Jessie!
Sorry I missed this. Unfortunately, there isn’t a way to limit the results based on a previous field, like only showing Smalls when they select small from a dropdown. We call this conditional filtering of linked records and it’s a highly requested Airtable feature that is rumored to be coming to us sometime in the future.

Hey Julian!
Thank you so much for the video and the time to respond to the forum questions.
I would like to add different price list for each kind of customer (segmented) in the model.
We are a (very) small business of kombucha brewing and i started using AirTable to track our production, inventory, movements between warehouses, sales and crm, all of this thanks to your videos.
The question goes like this:
How would you include different price lists in this model in order that every time a new sale it’s registered by the form it automatically creates the record using the correct price depending on what customer is linked to the sale itself.

Hi @Raimundo,
To start, you probably want to create what’s called a “junction table” called something like “Product Pricing by Customer”. This table would be linked to Customers AND to Products, and then would have a price field. This way, each line has a Customer, a Product, and a price. Grouping it by Customer (or by Product) will make it easier to navigate. Once you’ve built out this table, you can use an automation to find the right price each time you enter a sale. For example, it might look like this:

Trigger: When record matches conditions. In Sold table, when Customer is not empty and Product is not empty.

Action: Find records in the junction table where Customer is [Customer] and Product is [Product].

Action 2: Update record. There should be 1 result, and you can stamp the price from that find records result into the price field for the sale that you just created