Handling varying ingredient quantities in recipe database (without junction...?)

9408 25
Showing results for 
Search instead for 
Did you mean: 
5 - Automation Enthusiast
5 - Automation Enthusiast

I’m working on a recipe production database. I will have a table for all available ingredients, and another table with recipes that uses ingredients. When writing a recipe, i have a linked field where the author can pick ingredients in the recipe table.

Problem is of course specifiying the amounts of ingredients in the recipe. With this method, I can just select what ingredients a recipe contains, not what amount that exact recipe contains of each ingredients.

I was looking for some tips on this in the airtable “recipe organiser”-template.
Here there is a recipe QTY field in the ingredients table – however, in the samples each ingredient is only linked to one recipe. Seems a bit superficial? In my base, same ingredients will be linked to many recipes. Probably the case in most recipe databases. The Recipe QTY field, of course varies between different recipes so the ingreedient cant be re-used ebtween recipes with different amount of say potatoes or cucumber.

Is there any way of doing this, to specify amounts of a specific ingredient from a linked table, without a junction table? or without having separate “ingredient” entries in the ingredient table with same name but different Recipe QTY like in the template? Trying to figure out the most straigthforward way for the author to specify ingredients and amounts at once, without the database getting too cluttered.

If a junction table is a must - is there a form in Airtable that could fill out many tables at once (i.e. add stuff to recipe and recipe-ingredients junctions table), in one view?

The exact amounts will be needed in order to write out the recipe accurately directly from airtable and to calculate prices, on which data is found in the ingredients table. Was thinking of linking different QTY entries between each other WITHIN the same table, unsure how valid a solution this would be.

Would like to hear any solutions or discussion on this!

25 Replies 25

Glad you were able to get it to work.

This requires a paid Zapier account, which is why I use Integromat.

This setup, assuming Smart Links is enabled, will create new entries in the [Ingredients] table if necessary. This does introduce the possibility of having ingredient records for both “egg” and “eggs”. I haven’t experimented with using some sort of dynamic dropdown (pulling records from an Airtable as the selctable options) in Cognito Forms, and am also not even sure that’s a feature.

How do you edit a recipe - eg add an ingredient to a recipe

5 - Automation Enthusiast
5 - Automation Enthusiast

Hi there - this whole thread (and the template) have been beyond incredible so a big thanks to kick things off.

I seem to have been able to set it all up and running (and am even in the process of trying to add in cost calculation and nutritional breakdowns within the base - wish me luck on those haha).

One question I have with this right now is around duplicate ingredients. When I submitted my Cognito Form (aka a new recipe) and then appeared in the airtable document, it created new ingredients for ingredients I already had. E.g. here I already had “Almond Butter” listed, and “almond butter” was added to the list. Is there any method to this madness around how to not duplicate already existing ingredients?


Many thanks from an incredibly appreciative fellow-meal planner :slightly_smiling_face:

Hi Kamille - the link to the input form doesn’t seem to be working. I’m really keen to see what you are using if you would mind sharing!!! Your advice in this forum is helping me an incredible amount!! Thank you.

People kept submitting random ingredient combinations to my base so I deleted that one. You can still see what the form looks like by visiting the shared base and looking through the dashboards, as the base has the form embedded as an app in the sidebar.

Awesome. Thank you, I’ll check it out. Thanks for the super quick response!