There's no federal labeling definition of "local" or "locally grown". The closest federal figure comes from a USDA loan program, which counts a food as locally or regionally produced if it travels less than 400 miles from where it was grown, or stays within the state. On a label, "locally grown" falls under the general rule that labeling can't be false or misleading, so it should mean something a shopper would agree with, and saying where, "grown within 50 miles of Mankato", is clearer than the word alone. Many states run their own branded programs with real rules: Minnesota Grown, for one, may go only on products 80% or more produced in Minnesota, with a $20 annual license, and stores may display it for products that qualify. Schools buying for federal meal programs can prefer unprocessed locally grown food and decide for themselves how far local reaches. So "local" has three meanings for a small producer: what's truthful on your label, what a state program allows on its logo, and what a buyer counts. In the example below, a Minnesota food hub checks three products against the 80% line. Below are the definitions, the example, and a free calculator.
The short version
- No federal labeling definition of "local" or "locally grown".
- USDA's loan program counts under 400 miles, or within the state.
- On a label, "local" has to be truthful; saying where is clearer.
- State programs set their own rules; Minnesota Grown needs 80% from Minnesota and a $20 license.
- Stores may show a state logo on products that qualify.
- Schools can prefer unprocessed local food and set their own local area.
- TaroStack keeps each lot's supplier, so where a product's ingredients came from is on record. More below.
The definitions
| Where | What "local" means | Where it's from |
|---|---|---|
| Federal labeling | No definition; labeling can't be false or misleading | Food labeling law |
| USDA loan program | Less than 400 miles from origin, or within the state | 7 U.S.C. 1932(g)(9) |
| Minnesota Grown | 80% or more produced in Minnesota; $20 annual license; display by wholesalers and retailers for qualifying products | Minn. Stat. 17.102 |
| School meals | Unprocessed or minimally processed local products; the school decides the local area | 7 CFR 210.21(g) |
Other states run programs with their own names and rules. Using a state program's logo without its license can bring a penalty: up to $1,000 in Minnesota after notice. Selling to grocers is in selling to grocery stores requirements. This is general information, not legal advice.
An example: a Mankato food hub
Two Rivers Food Hub, the made-up food hub in Mankato, Minnesota, I use in these examples, packs three products under its own label and wants the Minnesota Grown logo on them. By weight of what goes in:
| Product | Ingredients | Grown in Minnesota | Under 400 miles | Minnesota Grown? |
|---|---|---|---|---|
| Strawberry jam | Minnesota strawberries and beet sugar, California lemon juice, pectin | 96% | 96% | Yes |
| Maple oat granola | Minnesota oats and maple syrup, North Dakota sunflower oil, California almonds, salt | 73% | 84% | No |
| Ground beef | Minnesota beef | 100% | 100% | Yes |
The program's rules decide how the share is counted; the hub works by weight. The granola misses the 80% line because of the almonds. The hub can swap them for Minnesota sunflower seeds and get to 88%, or keep the almonds and say what's true without the logo: "made with Minnesota oats and maple syrup". The ground beef also suits the schools it sells to, since ground beef counts as minimally processed under the school rule. How the hub runs is in food hub business plan, and its license in food distributor license.
Get the calculator
Download the local share calculator. Two sheets: type your home state and the program's share, then each product's ingredients with weight, where each was grown and how far it traveled; for each product, the share grown in the state, the share from under 400 miles, and whether it meets the program's share fill in. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
The calculator knows where the almonds came from last time. When a supplier runs short and the hub buys oats from a mill in Iowa for a month, the share changes, and the logo on that month's bags has to change with it.
How TaroStack does it
TaroStack keeps each ingredient lot with its supplier, so where a batch's ingredients came from is on record.
Suppliers and lots. Each delivery is received from its supplier with its lot, and fields of your own on the lot can hold where it was grown.
Batches record their lots. Each batch of granola records the ingredient lots it used, so the month the oats came from Iowa shows in the batches, not in memory.
Recipes with versions. Swapping almonds for sunflower seeds is a new version of the recipe, with the date it changed.
| The job | Spreadsheet | In TaroStack |
|---|---|---|
| Where a lot was grown | A note | A field on the lot |
| Which oats went into a batch | Unknown | Lots on the batch |
| When the recipe changed | Memory | Recipe versions |
| A substitute supplier for a month | An invoice | Its own lots, from its supplier |
Receiving, lots, batches, recipes with versions and your own fields are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
