All posts
Amay Aggarwal
Amay Aggarwal
Co-founder, Anglera

How lighting distributors manage photometric product data

Lighting distributors store manufacturer IES files as SKU assets, then extract lumens, CCT, CRI, efficacy and DLC status into filterable fields per variant.

How lighting distributors manage photometric product data

Lighting distributors typically manage photometric data in two layers: they store the manufacturer's IES file (an ANSI/IES LM-63 text file, or increasingly a TM-33 XML/JSON file) as a downloadable asset on each SKU, and they separately extract the numbers buyers filter on (lumens, wattage, efficacy, CCT, CRI, beam angle, dimming type, DLC status) into structured attribute fields in the ERP or PIM. The file serves the lighting designer running a layout; the extracted attributes serve the contractor searching the site, and the work is keeping the two in agreement for every variant.

The gap most distributors live with is that the file exists but the attributes do not. A high bay page links a good .ies download while the Lumens and CCT facets on the category page are blank, because nobody pulled the values out of the file, the spec sheet, and the DLC listing into columns.

What an IES LM-63 file holds, and what it leaves out

An LM-63 file is plain ASCII. Wikipedia's format list records editions from 1986 through 2019 and 2025, and notes the format carries luminous intensity distribution data.

Per the AGi32 Photometric Toolbox documentation of the LM-63 format, the file opens with optional keyword lines such as [TEST], [TESTLAB], [ISSUEDATE] and [MANUFAC], then a data block with number of lamps, lumens per lamp, a candela multiplier, vertical and horizontal angles, photometric type, ballast factor, input watts, and the candela grid itself. The same page notes some manufacturers do not use the keyword scheme at all.

For a distributor, that means an IES file reliably gives you:

  • Total luminaire lumens (from the lumen and multiplier fields, depending on whether the file uses absolute or relative photometry)
  • Input watts, so you can compute efficacy as lumens divided by watts
  • A candela distribution from which beam angle and BUG rating can be calculated

It does not give you CCT, CRI, dimming protocol, voltage, mounting, or listing status in any dependable field. Those live on the spec sheet, the order-code matrix, and the DLC record. If your enrichment plan assumes "parse the IES file and we're done," you will fill three or four columns and leave most of the filters buyers actually use empty.

Where TM-33 fits in lighting product data for distributors

The newer format is ANSI/IES TM-33-23. The IES store listing describes it as an XML-based format for transferring luminaire optical data, includes a JSON document format, and lists LM-63-19 among its normative references. Wikipedia's list notes TM-33 supports spectral power distribution data alongside luminous intensity, which is what makes it interesting for product data: a TM-33 file can carry color information that LM-63 cannot.

Suppliers may send either format, so ingestion should accept both. Store whichever files the manufacturer publishes, record the format in an asset attribute (photometric_file_format: LM-63-2002, LM-63-2019, TM-33-23), and treat extraction from TM-33 as a bonus source for CCT, not an assumption.

Getting IES files into the ERP and PIM as attributes

The ERP usually holds the order code, a short description, a price, and sometimes wattage. The PIM, if there is one, holds the attribute schema and the asset links. Neither does the extraction. That work pulls from four places:

AttributeBest sourceFallback
lumens_deliveredIES file data blockSpec sheet table
input_wattsIES file data blockSpec sheet, ERP
efficacy_lm_per_wComputed from the two aboveDLC listing
cct_kOrder-code matrix on spec sheetTM-33 file, DLC listing
criSpec sheetDLC listing
beam_angle_degComputed from candela gridSpec sheet
dimming_typeSpec sheet driver optionsInstallation guide
dlc_statusDLC QPL recordSpec sheet badge

Tools exist for the file side. Lighting Analysts' Photometric Power Tools batch-validates and edits large sets of IES files and cleans up inconsistent keywords and filenames. Its Instabase search engine indexes over half a million photometric files from more than 500 manufacturers and lets designers filter by luminaire lumens, BUG rating, CCT and CRI. Designers already filter photometric data by those fields; your PDP should let a contractor do the same.

For the attribute model behind those fields, our lighting attributes guide lists the core set by fixture type.

DLC, ENERGY STAR and NEMA dimming: listing data that moves

Listings are the attributes most likely to go stale.

DLC. The DesignLights Consortium finalized SSL V6.0 on November 3, 2025. Per the DLC transition page, V5.1-qualified products must be updated by October 9, 2026 or face delisting on December 15, 2026, and V6.0 introduces a controls category from 0 to 6, with category 0 ineligible for Premium. A dlc_status field that says only "Yes" is about to be wrong for some share of your catalog. Store dlc_version, dlc_tier (Standard or Premium), dlc_product_id, and a dlc_checked_date, and confirm against the live QPL.

ENERGY STAR. The ENERGY STAR light fixtures page says the program ended for most common fixtures, with recessed downlights still able to earn the label. A fixture badge copied from a five-year-old spec sheet is a liability; re-verify before you publish it as a filter.

NEMA dimming. NEMA SSL 7A sets compatibility requirements when a forward phase-cut dimmer is combined with dimmable LED light engines, per Lighting Controls Academy's summary of the 2015 revision; the standard was originally developed by the NEMA Lighting Controls Committee. For the PDP, that suggests a dimming_type enum (0-10V, Phase-cut forward, Phase-cut reverse, DALI, Non-dimming) plus a boolean nema_ssl_7a_compatible populated only when the manufacturer states it. Do not infer it from "dimmable."

Anatomy of the noun phrase 'UL-listed dimmable 150W LED high bay light for 30-foot ceilings': each modifier is labeled by slot (trust, constraint, spec, head noun, context) and resolves to a structured attribute column on the SKU — certification, dimmable, wattage, product type, mounting height.

Keeping variants straight

This is where photometric data breaks. One fixture family can ship in multiple lumen packages, CCTs, optics, and drivers. Some manufacturers publish one IES file per lumen package and optic rather than per CCT, so a 4000K and a 5000K variant may share a file and differ only on the spec sheet.

The rule that holds up: model the IES file as an asset that can attach to many SKUs, and model CCT, CRI and driver at the SKU. Never copy a lumen value from one variant's file onto a sibling without checking the order-code matrix. DLC's own SSL V5.1 requirements call out separate handling for color-tunable products and dimmable products, a reminder that "same family" does not mean "same performance."

A worked example

For illustration: a distributor carries a high bay family with three lumen packages (15L, 20L, 24L), two CCTs (40K, 50K), two optics (wide, narrow), and two drivers (0-10V, non-dimming). That is 3 x 2 x 2 x 2 = 24 orderable SKUs. The manufacturer publishes six IES files (three lumen packages times two optics).

The extraction pass reads six files for lumens, watts and candela, computes efficacy and beam angle six times, then fans those values to 24 SKUs by matching lumen package and optic. CCT and dimming come from parsing each order code against the spec sheet's ordering matrix. DLC status gets looked up per product ID, because a manufacturer may list only some packages. If the 50K variants have lower measured lumens in the spec table than the shared file, the file value is wrong for them and should be flagged rather than published. At 24 SKUs this is an afternoon; across tens of thousands of lighting SKUs it is a standing workload.

What goes wrong

  • Nominal versus delivered lumens. Spec sheets mix lamp lumens and delivered lumens. Store lumens_delivered and label its source.
  • Stale files. A manufacturer re-tests and reissues; your stored file is the old one. Check [ISSUEDATE] where present.
  • Free-text dimming. "Dimmable" in a description is not a filter. Normalize to the enum.

Deciding who does the work

Your PIM or ERP is the right place to store all of this. The question is who reads 30,000 spec sheets and keeps DLC status current through the V6.0 transition. Teams usually choose between in-house category managers, an offshore data-entry vendor working through a template, or an enrichment layer. Anglera is the last kind: it extracts values from the source documents, quality-scores each one, and flags conflicts like the shared-IES-file case above for review instead of guessing. It works alongside whatever PIM or ERP you run, typically goes live in about 30 days from a flat export, and keeps the attributes maintained as files and listings change.

If you're scoping a lighting catalog, the lighting distributors page shows the attribute set we fill, and Schema Foundry covers how a new field like dlc_version gets defined and backfilled across a catalog. Start with one family, check the variants against the files, and you'll see quickly where your gaps sit.

Frequently asked questions

Does an IES LM-63 file include CCT and CRI?

Not in its core data block. An LM-63 file carries lamp count, lumens, a candela multiplier, ballast factor, input watts and the candela grid, plus optional keyword lines. CCT and CRI usually have to come from the spec sheet, the ordering matrix, or the DLC listing. TM-33 files can carry spectral data, so they are a possible secondary source for color.

What is the difference between IES LM-63 and TM-33?

LM-63 is the long-standing ASCII text format for luminaire photometric data, with editions back to 1986. ANSI/IES TM-33-23 is an XML-based format that also defines a JSON document format and can carry more data types, including spectral power distribution. Distributors should be able to store and parse both, and record which format each asset uses.

How should distributors store IES files in an ERP or PIM?

Treat the IES file as a linked digital asset that can attach to several SKUs, since some manufacturers publish one file per lumen package and optic rather than per CCT. Extract lumens, input watts, efficacy and beam angle into structured attribute fields on each SKU, and keep CCT, CRI and driver options at the SKU level from the spec sheet.

What is NEMA SSL 7A and should it be a product attribute?

NEMA SSL 7A sets compatibility requirements when a forward phase-cut dimmer is combined with dimmable LED light engines, and was developed by the NEMA Lighting Controls Committee. It is worth a yes or no attribute, but populate it only when the manufacturer states compliance rather than inferring it from the word dimmable.

Amay Aggarwal

About the author

Amay Aggarwal — Co-founder, Anglera

Amay is a co-founder of Anglera, where he's building the AI pipeline that turns messy supplier catalogs into structured, AI-readable product data for distributors and answer engines. He built the catalog AI systems at Uber Eats on top of research from Stanford's AI lab.

See it on your own SKUs.

A 30-minute walkthrough on your categories and your supplier data.

Book a demo