Skip to content

BOM & components

DNP and DNI Components in a PCB BOM: How to Handle Unfitted Parts

Why unfitted parts stay on the BOM, how to mark them, and the revision mistake that gets them fitted by accident.

Carlos Antonio Benito 6 min read

What does DNP mean on a PCB BOM?

DNP means do not populate: the footprint exists on the board, the line exists on the BOM, and the component is deliberately not fitted during assembly. The pads are left bare.

It is not an error or an omission. It is a decision, and the whole point of marking it is to make the decision visible to everyone downstream.

DNP, DNI, NF — are they different?

In practice, no.

AbbreviationExpansionNotes
DNPdo not populatemost common in ECAD tools
DNIdo not installcommon in US assembly documentation
NFnot fittedcommon in UK and European documentation
NPnot populatedoccasionally seen
DNFdo not fitoccasionally seen

They all mean the same thing. There is no standard that assigns them different meanings, and no assembler will interpret them differently — but mixing three of them inside one BOM will slow somebody down, so pick one and use it everywhere.

Why would you put a part on the board and not fit it?

Five reasons cover almost all real cases.

Configuration options. The same board becomes two products depending on which of two resistors is fitted. Build A gets R10, build B gets R11, and the unfitted one is DNP in that variant.

Debug and test access. Series resistors that let you break a net, test points, a header for a programmer. Fitted on prototypes, DNP in production.

Risk hedging during design. A filter capacitor you suspect you might need. Laying out the footprint costs nothing; fitting it costs a part. Leave it DNP and fit it if testing says so.

Removed parts, kept footprints. A component that proved unnecessary in revision B. Removing the footprint means re-routing; marking it DNP means the board layout stays stable and the option is still there.

Supply problems. A part that cannot be sourced, where the board still functions without it in a degraded or optional mode.

Why DNP lines stay on the BOM

This is the part that gets done wrong.

The instinct is to delete the line — it is not being bought, so why list it? Because a BOM with a deleted line and a BOM with a DNP line look identical to the purchaser and completely different to everyone else:

the assembler needs to know the pads are meant to be bare, otherwise an empty footprint looks like a missing part and triggers a query — or worse, gets populated from a similar reel; the test engineer needs to know whether an empty position is a fault; the next engineer reading the board needs to know the footprint was left empty on purpose, not forgotten; you, in three years, need to know whether R7 was ever meant to be fitted.

Delete the line and that information is gone. Nothing records it.

How to mark a DNP line

There is no universal convention, and your assembler may ask for something different. What matters is that the information is unambiguous in both the BOM and the assembly drawing.

A common and workable approach:

FieldValue
Reference designatorpresent, as normal — R7
MPNkeep it, if a part is specified
Quantity0
Mounting / fittedDNP
Descriptionnormal description, plus the reason

Keeping the MPN matters. "DNP, 10k 0603, RC0603FR-0710KL" tells the next person what would go there. A bare "DNP" does not, and when the option is eventually enabled somebody has to re-derive the part.

Some teams prefer quantity 0 with the part listed; others keep the quantity and add a separate column. Both work. What does not work is a line that says only "DNP" with no part and no reason.

A worked example

Extract from the Main Control Board of the fictional ORION CONTROL UNIT, rev C.

ItemRefQtyDescriptionMPNMount
12R7010k 0603 — DNP, address select, pull-up variant onlyRC0603FR-0710KLDNP
13R8110k 0603 — address select, pull-downRC0603FR-0710KLSMT
14C190100 nF 0402 — DNP, reserved for EMC reworkGRM188R71H104KA93DDNP
15J406-pin header — DNP, SWD programming, prototypes only61300611121DNP

Sample data. Three different reasons, each stated. In six months nobody has to guess whether J4 was forgotten.

The revision risk nobody warns you about

Here is the failure mode that costs a build.

A board goes from rev B to rev C. In rev B, R7 was fitted. In rev C it is DNP. The BOM is updated. The assembly drawing is not, because it looked unchanged — same footprints, same positions.

The assembler works from the drawing. R7 gets fitted. The board behaves as the wrong variant, and because the hardware is electrically fine, it passes continuity test and fails later in functional test — or in the field.

Two rules prevent it:

  1. DNP status is part of the release, not a BOM detail. When it changes, the

assembly drawing and the pick-and-place data change with it.

  1. Never reuse a designator. If R7 is removed in rev C, R7 does not come

back in rev D meaning something else. Use a new designator.

Do pick-and-place files include DNP parts?

Usually not — a DNP part has no placement, so there is nothing to tell the machine. Most ECAD tools exclude them from the centroid export by default.

But this is exactly where the BOM and the placement file can silently disagree. If your BOM says DNP and your centroid file still contains the position because somebody exported it before marking the part, the machine will place it.

Check the centroid file against the DNP lines before every release. It takes a minute and it is one of the few checks that catches a real, expensive error.

A short checklist

  • [ ] One abbreviation used consistently — DNP or DNI, not both.
  • [ ] Every DNP line is still present on the BOM, not deleted.
  • [ ] Every DNP line states why.
  • [ ] The MPN is kept where a part is specified.
  • [ ] The assembly drawing shows DNP positions.
  • [ ] The pick-and-place file does not contain DNP positions.
  • [ ] No designator has been reused after being removed.
  • [ ] Variant builds state which DNP set applies.

Marking a part DNP is easy. Keeping that decision attached to the right revision of the right board — so that the BOM, the assembly drawing and the placement data still agree two revisions later — is the part that goes wrong.

In XKEMA the bill of materials belongs to the board it describes, and both carry their own revisions, so a DNP decision stays attached to the version it was made for.

BOM management How to create an electronics BOM Hardware revision control PCB assembly drawings: the document a person reads

Where to go next

XKEMA, in one sentence

Engineering knowledge management software for companies that develop electronic products: the product structure, its bills of materials, its documentation and its revisions, all in one place.