Skip to content
Global School Meals Atlas
EN

Public procurement of school meals — PNCP

Link procurement, menus and nutritional composition →

The National Public Procurement Portal publishes public purchases item by item. This page reads what municipalities buy for school meals and answers where each kind of food comes from — with the way back to the tender on every line, and with what the data does não say, measured rather than assumed.

Municipalities in the sample
5.131
27 states · up to 2 purchases per municipality, deterministic draw
Items measured
590.880
10.080 purchases · item-by-item classification
Food
R$ 7,93 bi
ESTIMATED stage — the tender value, not what was paid
Municipalities that publish
5.131
de 5.570 · descoberta completa, 121.757 editais
Family farming5,5%of the published food goes through a public call · 6,3% weighted by the sampling weight
Municipalities with a public call43,9%2.251 de 5.131 — the whole population, not a sample
Read this correctly: 5,5% is not a breach of the 45% floor of Law No. 15,226/2025. The floor is on FNDE transfers; this measures the share of food purchases published on the PNCP that go through a public call. Different denominators.

Where each kind of food comes from

Degree of processing under the Dietary Guidelines for the Brazilian Population. The hatched part is the money whose label does not decide the group — Juice is group 1 if whole and 4 if nectar; Bread is 3 if a French roll and 4 if sliced loaf.

Family farming

Public call, accreditation and non-competitive award

Unprocessed86,5%
Culinary ingredient2,4%
Processed1,9%
Ultra-processed2,1%
Label does not decide7%
Declared organic4,7%of the value purchased, read from the item specification
Ordinary procurement

Reverse auction, waiver and open bidding

Unprocessed69,6%
Culinary ingredient7%
Processed2,9%
Ultra-processed11,3%
Label does not decide9,2%
Declared organic0,4%of the value purchased, read from the item specification
The comparison is between instrumentos, not of cause: the public call is fresh produce by legal design, and the reverse auction concentrates industrialised food and special diets.

In volume, not only in money

Only kilograms add up: litres and count units stay out and are counted separately. Composition by weight changes the reading — fresh produce weighs a lot and costs little; ultra-processed food, the opposite.

Family farming

34,9 mil t

Unprocessed96%
Culinary ingredient0,8%
Processed1,1%
Ultra-processed0,7%
Label does not decide1,3%
Ordinary procurement

249,8 mil t

Unprocessed82,4%
Culinary ingredient6,4%
Processed1,3%
Ultra-processed5,7%
Label does not decide4,2%

Items without mass (litre, unit, pack, bunch), outside the kilogram sum: 225.262

Money, weight and price per kilo, side by side

The same basket in three measures. This is where "fresh produce weighs a lot and costs little" becomes a number: compare the weight column with the value column, and the price per kilo explains the gap.

Family farming

GroupValue% of valueWeightR$/kgItems without mass
UnprocessedR$ 375,3 mi86,5%33,5 mil tR$ 8,843.836
Culinary ingredientR$ 10,4 mi2,4%0,3 mil tR$ 19,83175
ProcessedR$ 8,2 mi1,9%0,4 mil tR$ 16,42104
Ultra-processedR$ 9,3 mi2,1%0,2 mil tR$ 28,44141
Label does not decideR$ 30,5 mi7%0,5 mil tR$ 18,89568
TotalR$ 433,7 mi100,0%34,9 mil tR$ 9,28

Ordinary procurement

GroupValue% of valueWeightR$/kgItems without mass
UnprocessedR$ 4.618,6 mi69,6%205,9 mil tR$ 14,4196.777
Culinary ingredientR$ 464,2 mi7%16 mil tR$ 7,1330.906
ProcessedR$ 194,4 mi2,9%3,2 mil tR$ 30,1511.550
Ultra-processedR$ 752,8 mi11,3%14,4 mil tR$ 20,8941.131
Label does not decideR$ 609,5 mi9,2%10,4 mil tR$ 14,7327.671
TotalR$ 6.639,5 mi100,0%249,8 mil tR$ 14,53
How the price per kilo is computed, and why it is not value divided by weight: Price per kilo = value-with-mass ÷ kg, that is, only the items that entered BOTH sides. Dividing total value by total weight would give an inflated price, because litres and count units count in the money and not in the weight.

By state

Family farming's share of the published food, ultra-processed food in ordinary procurement, and how many municipalities in the state have an identified public call. The sample supports state and country; it does not support a municipality.

UFMunicipalitiesPurchasesFoodFamily farmingUltra-processed (ordinary)Municipalities w/ public call
RR †713R$ 6,5 mi48,3%4,7%28,6%
ES77152R$ 60,1 mi19,2%8,6%74%
SC285563R$ 287,4 mi16,9%14,4%70,5%
SE75146R$ 88,2 mi11,4%14,7%42,7%
AC1630R$ 25,8 mi10,3%12,4%25%
BA390761R$ 491,6 mi10%11,3%56,2%
CE179356R$ 485,7 mi9,8%11,2%55,9%
PR391774R$ 376,9 mi8,9%12,7%61,6%
PB211413R$ 307,5 mi8,9%12,8%49,8%
MA214423R$ 471 mi7,5%13%51,9%
PE183363R$ 279,6 mi7%9,1%48,6%
RJ82163R$ 262,1 mi6,1%8,4%43,9%
RS437867R$ 308,2 mi5,4%9,3%36,4%
MT111212R$ 262,6 mi5,1%10,6%49,5%
AM54103R$ 93,5 mi3,8%9,4%44,4%
RN165321R$ 253,8 mi3,6%11,5%45,5%
MG7901.557R$ 1.057,2 mi3,3%11,6%36,6%
MS70134R$ 89,7 mi3,1%11,1%45,7%
GO226449R$ 269,9 mi2,8%11,7%65%
SP5331.042R$ 891,6 mi2,6%11,9%27,8%
AL99193R$ 247,2 mi2,1%14,1%26,3%
PI206396R$ 349,5 mi1,6%10,5%13,1%
PA144288R$ 638,3 mi1,1%10%25,7%
TO118229R$ 143,6 mi0,5%11,8%6,8%
RO52103R$ 73,5 mi0,2%11,3%50%
AP †1527R$ 111,4 mi0%5,2%6,7%
DF †12R$ 0 mi——0%

† fewer than 30 purchases in the sample: the confidence interval covers almost everything, and the state has no portrait — Roraima, for instance, sits between 0 and 85%.

Adoption, year by year

The cumulative 43,9% is a union of five years — "published a call in some year since 2021". Per year, none exceeds a third. And part of the recent jump is more publication per municipality, not more adoption.

AnoMunicipalities publishingWith a public call%
202246220,4%
2023798526,5%
20244.23197923,1%
20254.7901.59133,2%
20264.5521.39130,6%

Does family farming charge more or less than the reverse auction for the same product?

The question looks simple and has three answers, all true at different scales. The first reading this system produced — "family farming comes out 5% cheaper" — não sobreviveu refutation: it compared the price PAID in a public call with the ESTIMATED price of a reverse auction, which bidding still drives down. The opposite reading fell too. What is left is more interesting than either.

Fresh produce, nationally
0,943
53 products — family farming references 4 to 6% below
Fresh produce, within the same state
0,984
parity — the national discount was geographic composition
Fresh produce, paired within the municipality
1,000
985 pairs — an exact tie
Outside fresh produce
1,088
grains and processed food come out pricier — beans are the robust signal: 1,165
Against the SCHOOL reverse auction in the same municipality, the ratio is 0,939 em 423 pairs. The difference that showed up before came from comparing the PNAE public call with ordinary purchases that were not school meals — food baskets, social services, other departments.
The control that kills the lot-size explanation

Waiver references 0,924 of the reverse auction

Em 47 products, despite buying lots 8.5 times smaller. If small local purchasing raised prices, the waiver would be pricier — and it is cheaper.
Two states, opposite signs

SC 1,059 · PR 0,929

The two with the highest uptake of the public call, pointing opposite ways. In Santa Catarina family farming lacks the reverse auction's cheap tail; in Paraná it lacks the expensive tail. In both, it is less dispersed.

Trend: 0.914 → 0.965 — the discount is closing because the call's price rises faster (+8.6%) than the auction's (+4.4%)

What this does not prove: it is a published REFERENCE price, not money paid. In the public call the tender price is the price paid (art. 31 § 4); in the reverse auction competition still pulls the estimate down by ~34%. Comparing the two as if they were the same was the error refutation caught.

The up-to-30% organic premium

The rule allows paying up to 30% more for organic produce — only when a specific price survey is impossible. Where the same tender publishes the product in both versions, the premium can be measured. Price does not identify organic: as a classifier, it is right 27% of the time.

Pairs in the same tender
354
same product, organic × conventional
Above the 30% ceiling
90
compliance indicator of the publication
Median premium
1,257
1.30 is § 5 echoed back
Within family farming itself, organic costs 1,19 a 1,28 times the conventional of the same product — below the 30% ceiling, and it is the difference the law anticipates. But price still cannot identify organic: as a classifier, it is right 27% of the time.
MunicipalityPairsAbove the ceiling
Garopaba/SC241
Tuneiras do Oeste/PR232
Santo Antônio do Paraíso/PR224
Zortéa/SC153
Rebouças/PR149
Viana/ES144
Campo Mourão/PR142
Jupiá/SC91

The national price ruler

Median unit price per product and canonical unit, with p10 and p90. CD/FNDE Resolution No. 4/2026 requires a local price survey and forbids price databases for family farming — but offers no ruler to check the result. This is one. Only products with at least 30 observations, prices consistent with their components, and plausible prices are included.

ProductUn.ItemsUFsCheap (p10)Typical (median)Pricey (p90)
Carne (proteína animal)kg15.12026R$ 17,89R$ 31,95R$ 46,92
Farinhakg6.39226R$ 5,05R$ 8,27R$ 23,64
Frangokg4.35525R$ 11,70R$ 18,32R$ 27,37
Polpa de frutakg4.32326R$ 9,61R$ 17,68R$ 33,45
Feijão beneficiado (mercado)kg3.73725R$ 6,71R$ 9,06R$ 12,56
Bananakg3.68826R$ 4,74R$ 7,12R$ 11,66
Arroz beneficiado (mercado)kg2.96326R$ 4,99R$ 6,88R$ 11,09
Maçãkg2.91225R$ 8,50R$ 12,89R$ 18,93
Cebolakg2.81225R$ 4,19R$ 6,58R$ 10,05
Queijokg2.76326R$ 33,77R$ 46,25R$ 63,10
Cenoura (fora do catálogo)kg2.68725R$ 4,61R$ 7,00R$ 10,80
Linguiçakg2.68525R$ 18,96R$ 26,03R$ 36,27
Tomatekg2.60426R$ 6,00R$ 9,00R$ 13,99
Pãokg2.60426R$ 12,68R$ 18,91R$ 38,32
Batata inglesa (fora do catálogo)kg2.52525R$ 4,72R$ 7,34R$ 11,78
Alhokg2.47025R$ 22,30R$ 32,13R$ 42,00
Laranjakg2.46226R$ 4,26R$ 6,33R$ 9,67
Leitel2.40026R$ 5,12R$ 6,80R$ 12,48
Açúcarkg2.29026R$ 4,07R$ 5,58R$ 19,98
Mamãokg2.23826R$ 4,98R$ 8,73R$ 12,99
How to read the three price columns. Imagine the prices of one product lined up from cheapest to most expensive. The column típico is the middle of that line: half the country pays less, half pays more. The column barato marks the point where only one price in ten is lower still — below it, a price is unusual for being so low. The column caro does the reverse: only one price in ten is higher than it. The two ends show the spread; when they sit far apart, the same product costs wildly different amounts around the country, and the reference itself is worth less.

A price above the typical is not overpricing: region, season, freight and lot size explain variation. It serves to ask, not to conclude.

Is there a producer here? Delivering what? At what price?

The thermometer answers the question a manager asks before opening a public call: what family farming already delivers nearby, and at what price. Geography from the INEP School Catalogue; 20.302 family-farming deliveries in the base.

Ribeirão Preto/SP — raio de 150 km

Chuchu (fora do catálogo)12 municipalitiesSanto Antônio da Alegria/SP · 69 kmR$ 5,75/kg
Banana12 municipalitiesSanto Antônio da Alegria/SP · 69 kmR$ 8,54/kg
Pepino12 municipalitiesSanto Antônio da Alegria/SP · 69 kmR$ 5,87/kg
Tomate12 municipalitiesSão Tomás de Aquino/MG · 85 kmR$ 8,38/kg
Mamão11 municipalitiesSanto Antônio da Alegria/SP · 69 kmR$ 8,24/kg
Mandioca11 municipalitiesSão Tomás de Aquino/MG · 85 kmR$ 6,83/kg

Uberlândia/MG — raio de 150 km

Mandioca5 municipalitiesDouradoquara/MG · 88 kmR$ 8,06/kg
Chuchu (fora do catálogo)5 municipalitiesDouradoquara/MG · 88 kmR$ 7,25/kg
Cenoura (fora do catálogo)5 municipalitiesDouradoquara/MG · 88 kmR$ 6,61/kg
Mamão5 municipalitiesDouradoquara/MG · 88 kmR$ 8,48/kg
Melancia5 municipalitiesDouradoquara/MG · 88 kmR$ 5,29/kg
Banana5 municipalitiesCorumbaíba/GO · 91 kmR$ 8,48/kg

Petrolina/PE — raio de 150 km

No family-farming delivery found within this radius. The thermometer has a floor, not a ceiling: it shows what has already been sold, not what exists.

Does one public call run the whole year?

Calls per municipality-year
1
median
Median contract term
330 d
81% with 330 days or more
FF contracts under a price-registration record
0
de 458 — against 82 de 102 in the reverse auction
Descriptive yes, causal no. the descriptive part holds (one call per year, a ~330-day contract); the causal part does not — Pontal do Paraná/PR kept 1 call with a 365-day contract and opened 8 food purchases in the same year. What distinguishes them is a firm contract (0 of 458 are price-registration records) against 80% records in the reverse auction. (18 municipalities in 18 states, 36 municipality-years, closed years 2024–2025 (29 Aug 2026))

What happens after the tender

Reverse auction: awarded ÷ estimated
0,656
the estimate is a ceiling and competition pulls it down
Public call: price
0,9998
the tender price is the price paid (art. 31 § 4)
Public call: value
0,8061
pays the agreed price and buys less than announced
in the public call the price does not move (art. 31 § 4) — the estimated × awarded ratio does not measure price research; where family farming loses is in QUANTITY: it pays the agreed price and buys less than it announced (12 municipalities, 38 tenders, closed years 2024–2025 (29 Aug 2026))
Item with no bids2,4%in family farming · 2,5% in the reverse auction — equal rates
2024 purchases with no awarded item at all63,4%in family farming · 54,7% in ordinary ones — the gap is post-tender, not in the instrument

Does the municipality buy everything it announced?

The public call pays the agreed price — the rule requires it. Where it falls short is quantity, and the aggregate hides what matters: the vast majority deliver in full, and the few cuts are large.

Chamada pública · 244 itens

Bought everything in 84% of the items

Between 50 and 89% of what was announced: 26 items · between 10 and 49%: 13 items. Median 100%, aggregate 81,8% — both are right and say different things. The partial ones sit in just 3 municipalities.
Ordinary procurement · 816 itens

Bought everything in 100,0% of the items

No partial items. This is not the reverse auction being better: it is structural. In a reverse auction one supplier takes the whole lot; in a public call the quantity is split among farmers and falls short when not enough of them show up.
What this does not prove: does not prove farmer frustration. A short lot may be the municipality buying less OR too few farmers to fill it — the portal does not distinguish, and the remedy for each is the opposite.

12 municipalities, closed years 2024–2025; only items with a published outcome, replicated accreditation excluded

Does family farming sell alone or organised?

The public call allows both: the individual farmer and the cooperative that brings many together. Headcount and money tell opposite stories — and the gap between them is what matters.

Individual farmers
82,4%
2.123 de 2.576 suppliers in total
But the money goes to cooperatives
75,1%
453 cooperatives and associations take R$ 345,7 mi
Average cooperative
R$ 0,8 mi
against R$ 0,1 mi for the lone farmer — fourteen times more
Deliver to more than one municipality
15
de 2.123 individual farmers — the individual is local, a cooperative reaches ten
How the municipality operates128buy from both · 77 only through a cooperative · 44 only from farmers directly
eight in ten suppliers are individual farmers, and they keep a quarter of the money. The average cooperative moves fourteen times what a lone farmer moves — R$ 763 thousand against R$ 54 thousand. And the individual farmer is local: only 15 of the 2,123 deliver to more than one municipality, while a cooperative reaches as many as ten.
What this does not prove: does not say whether the farmer inside the cooperative is better off. The money entering a cooperative is split among members the data does not show, so the average per legal entity is nobody’s income. And municipalities that buy only through a cooperative may be excluding those who are not members — the data shows the door that was used, not who was left outside.

colheita dirigida, 386 municípios, 1.532 compras de chamada pública; pessoa física por pseudônimo scrypt — identificador lido, derivado e descartado, nome nunca gravado

Do those who start supplying keep supplying?

Return the following year
68%
239 suppliers across 30 pairs between closed years
Are new the following year
36%
the public call renews without shrinking
Municipalities in the targeted harvest
138
in random order — stopping midway still yields a valid sample
a broad two thirds of suppliers return the following year and a little over a third of the following year's are new — the public call renews without shrinking. Individuals enter as a scrypt-derived pseudonym: the identifier is read, derived and discarded.
What this does not prove: does not prove the instrument builds loyalty. A municipality that switches modality, buys through a cooperative or publishes late shows up as supplier loss.

municipalities with a public call in different years, targeted harvest in random order; only pairs between CLOSED years — a pair ending in the current year compares a full year with a fraction of it

Does a short lot drive the supplier away?

The question that links the two previous measurements, with both numbers coming from the same municipality. The answer is that it cannot be answered yet — and the reason is more interesting than a result would be.

Municipality-year pairs
16
between closed years, with both measurements
Bought everything they announced
12
de 16
Short-lot cases
4
too few to support a conclusion
Correlation
0,043
practically zero
there is no signal. The 13-point gap between the aggregates comes from a single municipality — São Roque/SP, which bought 64% and kept 1 of 5 suppliers. The other three short-lot cases point the other way: Abadia de Goiás bought 16% and kept 67%, Horizonte bought 59% and kept 100%, Vieirópolis bought 87% and kept 100%. The correlation is 0.043 — and it FELL from 0.101 when the sample went from 13 to 16 pairs, which is how an effect that does not exist behaves.
Why we do not publish the 15-point gap as a finding: the absence of a signal does not refute the hypothesis — the sample is small because short lots are rare (84% of items buy 100%), and a random sample brings few cases. Answering requires a TARGETED harvest of municipalities known to have had a short lot. And even with a signal, correlation would not tell apart "the municipality bought less" from "there were not enough farmers to fill the lot" — both produce the same number and call for opposite remedies.

targeted harvest of municipalities with a public call in different years; only pairs between CLOSED years and only municipality-years with announced and awarded quantity recorded

How municipalities set the price

Res. CD/FNDE No. 4/2026: art. 28 (ordinary purchase: Painel de Preços, Conab/Ceasa, suppliers; average, median or lowest of ≥3 prices) and art. 31 (family farming: average of ≥3 LOCAL suppliers, giving priority to the producers’ market, plus freight and packaging; § 8 FORBIDS the art. 28 methodology and price databases)

Pregão · 12 editais

Declara método, fonte e data: 1

Declares sources without the statistic: 1 · refers to the case file: 2 · declares nothing: 8
Chamada pública · 10 editais

Art. 31 declarado: 1

Average with an annex, without counting suppliers: 2 · uses a forbidden source (price database): 4 · does not declare: 3 · cite a revoked rule: 6
The awarded ÷ estimated ratio does not measure survey quality: in a public call it is 1 by legal construction (art. 31 § 4) and in a reverse auction it measures how hard bidders competed. Measuring accuracy requires a price from outside the purchase — Conab or Ceasa for the same market and the same month — and that was not done.

Good practices, each with the evidence behind it

  1. Write the methodology into the tender document, not into the case file: instrument, date, statistic and critical analysis (the only model in the sample: Amambai/MS)
  2. For family farming, do not use a price database — the § 8 ban is explicit; 4 of the 10 tender documents used a forbidden source
  3. Record HOW MANY local suppliers were consulted — none of the 10 tender documents says
  4. Add freight, packaging and charges to the price, and say that you did (art. 31 § 1)
  5. Survey organic prices where organic is actually sold; the 30% is an exception, not a default (art. 31 § 5)
  6. Check the rule before copying the template: 6 of 10 tender documents base the price on a repealed resolution
  7. Publish PDFs with real text, not scans: 3 of the 22 were pure image
  8. Attach the price map to the tender document — transparency that produces a finding beats opacity that produces none

22 municipal school-meal tender documents read in full text on 28/08/2026 — 12 electronic reverse auctions and 10 family-farming public calls, 22 municipalities, 19 states; a convenience sample, not a probability sample

Federal money and the outsourced kitchen

4.925

municipalities matched with the FNDE transfer

R$ 3,63 bi forecast for 2024 for 24.266.027 students. Transfer forecast, not paid; purchase estimated, not paid.

426

receive the transfer and do not appear in any food search

A mixed set: outsourcers, purchases under another modality, and real absence. Eight were checked; all publish on the portal. A floor for attention, not an accusation.

162

municipalities contract ready-made meals

They outsource the kitchen instead of buying food — and vanish from any item-level food analysis. 107 of them keep a public call in parallel.

What the data does not say

Outside the cross-tab, stated: non-food R$ 1,45 bi (school-meal procurement is mixed) · the portal did not say what it is R$ 108,8 mi (lot header, reference to an annex) · no rule R$ 1,4 bi · 101 items whose value contradicts quantity × unit price · 2.392 with an impossible price · 164 more than 20× the median of their own product. None enters the sum; all are counted.
Overpricing is not fraud. The first is a comparison of numbers and the portal reaches it; the second requires proving execution and payment, and the portal does not. 3.394 out-of-range price signals were generated, each with what it does not prove; 162 were removed for being inflation across years, not deviation.

Source: National Public Procurement Portal, harvested on 30–31 Aug 2026 and measured item by item; FNDE (forecast transfers); INEP (geography). Classification engine escolas-brasil, commit da14fd79, generated on 2026-09-03T12:07:42. No supplier tax identifier was collected, stored or displayed.