Let's say you have a Stock field in Airtable showing how many units of a product you have left.

Every time someone checks a box, you want the stock to decrease by one.

So if Stock is 10:

Check the box → Stock becomes 9

Check it again:

Stock becomes 8

It sounds like something you should be able to do directly inside an Update record automation action. The problem is that you can't simply tell the action to take the current Stock value and subtract one from it.

The easiest way around this is to let a formula field do the calculation and let the automation copy the result back into Stock.

Airtable automation decreasing a stock value by one when a checkbox is checked and then resetting the checkbox

Create a formula for the new stock value

Start with your existing Stock number field.

Then create a formula field called something like Stock minus 1 and use:

{Stock} - 1

If Stock is 10, this field shows 9. If Stock is 25, it shows 24.

Nothing has actually changed in your Stock field yet. The formula is simply calculating what the next value should be.

Now add a checkbox field called Decrement.

You should have three fields:

  • Stock
  • Stock minus 1
  • Decrement

Create the automation

Create a new automation using When record matches conditions as the trigger.

Set the condition to:

Decrement is checked

Then add an Update record action and use the record ID from the trigger so Airtable updates the same record that was checked.

For the Stock field, insert the dynamic value from Stock minus 1.

In that same action, set Decrement back to unchecked.

That's it.

The automation isn't doing the subtraction itself. The formula field calculates the new value, and the automation copies that value into Stock.

Resetting the checkbox is important because it makes it ready for the next click. Check it again and the same process runs with the new Stock value.

Don't let the number go below zero

If you're using this for inventory, seats, tickets, or anything else that shouldn't become negative, change the formula slightly:

MAX(0, {Stock} - 1)

Now a Stock value of 1 becomes 0, but checking the box again won't turn it into -1.

If negative values make sense for what you're tracking, stick with the simpler {Stock} - 1 formula.

Using a button in an Airtable Interface

If people are doing this from an Airtable Interface, a button can feel nicer than a checkbox.

For example, you could add a button labeled:

Reduce stock by 1

Configure the button to run an automation for the current record.

The automation can use the same Stock minus 1 formula field and Update record action from above. The difference is that you don't need the Decrement checkbox or the step that resets it.

The user clicks the button, the automation gets the current record, and Stock decreases by one.

For an Interface workflow, this is the approach I'd use because a button makes the action much clearer to the person using it.

Using QuickScan for faster updates

If you're updating lots of records one after another, you can also use QuickScan instead of manually checking a box each time.

Choose the Airtable field QuickScan should use to find the record and set an update rule such as Quantity -1. You can then scan a barcode or enter the matching value manually. QuickScan finds the record and applies the update automatically.

For example:

Scan or enter product → Find matching record → Quantity -1

This is useful for inventory, check-ins, asset tracking, and other workflows where you need to update many records quickly without finding and editing each one in Airtable.

For inventory, consider whether you need a history

Directly reducing a Stock field works well for a simple counter.

But if you eventually need to know why your stock changed, simply changing 10 to 9 and then 9 to 8 doesn't give you much history.

For a proper inventory system, I prefer using a separate Stock Movements table where every change is stored as its own record:

ProductQuantity ChangeType
Widget A-1Sale
Widget A-2Damaged
Widget A+10Restock

Your current stock can then be calculated from those movements, while you still have a complete history of what happened.

For a more complete setup like this, see how to automate inventory tracking in Airtable.