Nutrition information table: how to calculate it in South Africa

The recipe spreadsheet said 522 kJ per 100 g. The retailer’s laboratory said 604. The technologist had used decent ingredient data and the correct conversion factors, and she was still out by more than a tenth, because the recipe went through a steam kettle and the spreadsheet did not.

In short

  • Under R146 of 2010 a nutrition information table is compulsory once you make a nutrition or health claim. A voluntary table must still follow the prescribed format.
  • Declare values per 100 g or 100 ml and per single serving.
  • Energy in kJ: protein 17 kJ/g, carbohydrate 17 kJ/g, fat 37 kJ/g, alcohol 29 kJ/g. Dietary fibre (8 kJ/g) and organic acids (13 kJ/g) have their own factors.
  • Calculate on the product as sold: correct raw recipe values for cooking yield and moisture loss.
  • The regulation’s rounding rules are binding. Vitamins and minerals carry a % NRV.

Most wrong panels go wrong this way: the arithmetic is fine and describes a product that is not the one in the pack. Module 2 of the Advanced Food and Beverage Labelling Course from ASC Food Safety Training teaches the calculation the way it is set out below. The course costs R2 950. Hold that against the price of one scrapped label run.

When does R146 require a nutrition information table?

Under R146 of 2010, the labelling and advertising regulations made under the Foodstuffs, Cosmetics and Disinfectants Act 54 of 1972, a nutrition information table becomes compulsory the moment you make a nutrition or health claim on the label or in advertising. Print one voluntarily and it must still follow the prescribed format.

“Low fat” on the front of pack, “source of fibre” on a website banner, “high in protein” in a social media advert: each is a claim, and each drags the full table and the qualifying criteria in behind it.

Draft replacement regulations (R3337) were published for comment in April 2023 and had not been finalised at the time of writing. Treat R146 as the regulation in force unless you have checked otherwise. The complete guide to R146 covers the rest.

What must a nutrition information table show, per 100 g and per serving?

A South African nutrition information table lists energy in kilojoules, then protein, glycaemic carbohydrate with total sugar beneath it, total fat with saturated fat beneath it, dietary fibre and total sodium, in the order and units the annexure to R146 prescribes. Values appear per 100 g for solids or per 100 ml for liquids, and again per single serving.

You choose the serving size, so you own it. A 45 g serving on a 400 g ready meal that everybody finishes in one sitting invites a complaint.

Claims about fat typically bring extra lines with them, and any vitamin or mineral you claim must be declared too. Sodium is declared as sodium, in milligrams. Salt is a different number, about two and a half times bigger.

How do you calculate energy in kilojoules for a South African nutrition information table?

To calculate energy for the table, multiply the grams of each energy yielding nutrient per 100 g by its conversion factor and add the results: protein 17 kJ per gram, carbohydrate 17 kJ per gram, fat 37 kJ per gram and alcohol 29 kJ per gram. Dietary fibre (8 kJ per gram) and organic acids (13 kJ per gram) carry their own, lower factors in Annexure 2, and polyols vary by type. Declare the total in kJ.

Worked example

Chicken and rice ready meal at Mzansi Fresh Meals (the ASC training case, a fictional Gauteng chilled ready meal plant, not a real company).

The recipe sheet gives the raw mix per 100 g: protein 7.0 g, glycaemic carbohydrate 15.0 g, fat 4.0 g. Fibre is left out for brevity.

Raw mix energy: (7.0 x 17) + (15.0 x 17) + (4.0 x 37) = 119 + 255 + 148 = 522 kJ per 100 g.

Now the kettle. Over five batches, 100 kg goes in and an average of 88 kg comes out. Yield is 0.88. Water left, nutrients stayed, so divide each value by 0.88: protein 7.95 g, carbohydrate 17.05 g, fat 4.55 g.

Cooked product energy: (7.95 x 17) + (17.05 x 17) + (4.55 x 37) = 135.2 + 289.8 + 168.2 = 593 kJ per 100 g (each term worked from the unrounded quotient).

Per 350 g serving: 593.2 x 3.5 = 2 076 kJ, from the unrounded figure, rounded once at the end as the regulation prescribes.

Same recipe, same ingredient data.

522 kJ

Raw mix calculation

593 kJ

Corrected for 0.88 yield

604 kJ

Retailer’s laboratory

604 sits comfortably beside 593. It was never going to sit beside 522.

A retailer’s laboratory finds that gap after the labels are printed. ASC’s nutrition labelling training under R146 teaches it on two worked products: a savoury instant soup done wrong and then right, and a yoghurt label you audit yourself.

Start the Advanced Food and Beverage Labelling Course, R2 950

Why does the laboratory result disagree with your recipe calculation?

A laboratory result usually disagrees with a recipe calculation because the calculation describes the raw mix and the laboratory tested the finished product. Cooking drives off water and concentrates every nutrient, frying adds fat, draining removes it. After yield, the usual suspects are generic ingredient data, carbohydrate worked out by difference with the fibre still inside it, and ordinary batch to batch variation.

Yield and moisture loss

Measure it on the real line at the real batch size. Bread loses water in the oven and again on the cooling rack. Rice and pasta take water up, which dilutes everything. Fried products lose water and gain oil at the same time, so measure the fat pick up.

Ingredient data

A supplier’s specification beats a composition table, and a composition table beats a guess. Chicken thigh with skin is a different fat value from skinless. If the entry is for cooked rice and you apply your own yield factor as well, you have corrected twice.

Should you calculate the table or send the product for analysis?

For a nutrition information table, do both. Calculation is quick, suits development work, and tells you whether a laboratory result is plausible. Once a claim is made, though, R146 expects the table to rest on analysis by a reputable laboratory, ideally one accredited for the methods used. Values taken from food composition tables are only an option where no claim is made.

The conditions are in the regulation, so check the current text before you rely on calculation alone. The same goes for tolerances. One laboratory sample is one data point, with a measurement uncertainty attached.

A defensible declared value comes from several batches, not from the best result you ever had.

If protein runs from 9.6 to 10.4 g per 100 g and your claim needs 10, you do not have a claim yet.

The evidence belongs in a claim substantiation file.

How do rounding and % NRV work on the panel?

R146 prescribes how each value in the nutrition information table is rounded, and those rules are binding. Carry unrounded figures through every step, round once at the end as the annexure says, and never apply a house convention. % NRV expresses a vitamin or mineral as a percentage of the nutrient reference value listed in R146.

A declared vitamin value also has to hold on the last day of shelf life, covered in vitamin overage and label claims over shelf life.

What are the commonest nutrition panel errors before sign off?

The nutrition panel errors that reach print are rarely exotic: raw values on a cooked product, kilocalorie factors in a kilojoule row, salt and sodium swapped, fibre counted twice, and a panel nobody updated after the recipe changed. Each is a five minute check before sign off.

What it does to the panel Fix
Raw recipe values declared for a cooked product
Everything understated by the moisture loss Measure yield and divide by it
Factors 4, 4 and 9 used in the kJ row
Energy about four times too low Use 17, 17, 37 and 29
Carbohydrate by difference with fibre left in
Carbohydrate and energy overstated Subtract fibre first
Salt entered on the sodium line, or the reverse
Out by a factor of about 2.5 Declare sodium in mg, keep the conversion
Per serving column typed by hand
Does not match per 100 g times serving size Link the cells, recheck with a calculator
mg and µg confused
A thousandfold error in % NRV Check units against the NRV table
Recipe changed, panel did not
A label for last year’s product Put the panel under change control

Run it before anyone signs. It slots into the wider food label sign off checklist, and the last row has its own post: what a recipe change should trigger.

What does the Advanced Food and Beverage Labelling Course cover, and what does it cost?

The Advanced Food and Beverage Labelling Course is an advanced online food labelling course from ASC Food Safety Training. It costs R2 950 and is self paced, over seven modules. Module 2 covers nutrition labelling and the mathematics of the panel.

Course Advanced Food and Beverage Labelling Course
Provider ASC Food Safety Training
What you take back to work Energy calculation, rounding under Annexure 6, a defensible declared value and a panel errors checklist to run before sign off
Level Advanced. Third step in the ASC labelling ladder
Time Seven modules, worked through at your own speed
Price R2 950, paid once. Card or EFT through PayFast
Format Online, self paced, lifetime access
Assessment A knowledge test for each module and a course assessment
Certificate Certificate of completion
Who it is for People who build, check and sign off labels and nutrition panels

Enrol in the Advanced Food and Beverage Labelling Course, R2 950

Questions people ask before they enrol

How much does the Advanced Food and Beverage Labelling Course cost, and how long does it take?

R2 950, paid once by card or EFT through PayFast. That covers seven online modules, a knowledge test for each module, a course assessment, lifetime access to the material and a certificate of completion. There is no fixed timetable: the course is self paced, so you work through it around production.

Do I need to do the earlier labelling courses first?

It is the third step in the ASC labelling ladder, after Essentials of Food Labelling Claims (R1 250) and Labelling Claims and Regulatory Framework (R1 750). If you work with R146 every day you may be comfortable starting here. If not, start lower.

How much of the course is about the nutrition table?

All of module 2: when a table is required, the Annexure 2 format, calculating energy, calculation versus laboratory analysis, rounding under Annexure 6, tolerances, NRVs and % NRV, serving sizes, foreign panels and two mock products to correct and audit.

Can I enrol from outside South Africa?

Yes. Prices are in rand, the course page shows an indicative equivalent in US dollars, euros and pounds, and payment settles in rand. The content is built on South African law, with sections on international systems and US Nutrition Facts for exporters.

The technologist with the 522 kJ panel did not need a better laboratory. She needed a yield figure and an afternoon with the rounding annexure. A wrong panel in print means scrapped labels or stickers on packed stock. Price either one and put it next to R2 950. Enrol in the Advanced Food and Beverage Labelling Course (R2 950) before the next artwork goes to print. The food labelling training hub shows the courses that lead up to it.

This article is training material, not legal advice. Check the current regulation text where a number matters. The course is an independent training product and is not approved or endorsed by any government department or regulator.