Netsuite, ERP, Radiopharmaceuticals

Radioactive decay and inventory management: how NetSuite handles short half-life products

Technetium-99m has a half-life of 6.01 hours. By noon, a dose calibrated at 6 a.m. is half gone. For most ERP systems, this is invisible. Here is the configuration that makes it visible.

The physics that breaks generic ERP

Technetium-99m has a half-life of 6.01 hours. A 25 mCi dose calibrated at 6 a.m. is 12.5 mCi by noon. Without any human intervention. Without a transaction. Without anything an ERP system would normally recognize. The activity is just gone.

For Fluorine-18, the half-life is shorter: 109.8 minutes. A 10 mCi dose at 8 a.m. is 5 mCi by 10 a.m. By the end of the work day, it is effectively zero.

For Iodine-131, the half-life is longer: 8.025 days. Slower, but still continuous.

Standard ERP inventory does not handle this. A unit is a unit. Quantity at 6 a.m. equals quantity at noon until someone ships, returns, or writes off. Every radiopharmaceutical manufacturer running on standard inventory configurations is overstating assets in real time, distorting gross margin on every delivered dose, and creating audit findings on every reconciliation between physical survey and book.

As Archer's radiopharmaceuticals industry page describes, half-lives measured in hours mean every dose is a just-in-time manufacturing event, and every write-off is immediate. The ERP has to account for that.

A dose calibrated at 25 mCi at 6 a.m. is 12.5 mCi by noon. For most ERP systems, this is invisible. For finance, it is the entire problem.

The 4-part configuration that makes NetSuite work

Part 01: Activity as the primary unit of measure

The item record for a radiopharmaceutical SKU carries activity as the primary unit of measure. Millicurie for US operations. Megabecquerel for SI operations. The container, the vial, the syringe, the capsule, is secondary.

The item record also carries:

  1. Isotope identifier as a required custom field. Tc-99m, F-18, I-131, Lu-177, Ga-68, Y-90, and so on. The isotope drives the decay constant.
  2. Calibration timestamp as a required custom field. Activity without a timestamp is not a quantity. It is a guess.
  3. Reference activity at calibration as a required custom field.

When a batch is produced, the production order records initial activity and calibration time. From that moment forward, the system can calculate decayed activity at any later time.

Part 02: Decay constants and the calculation engine

Each isotope has its own decay constant. The standard values used in production:

IsotopeHalf-lifeDecay constant (per hour)
Tc-99m6.01 hours0.1153
F-18109.8 minutes0.3789
Ga-6867.7 minutes0.6141
I-1318.025 days0.003599
Lu-1776.647 days0.004341
Y-902.667 days0.01082

The decay formula is standard exponential decay:

A(t) = A(0) * e^(-lambda * t)

Where A(t) is activity at time t, A(0) is initial activity at calibration time, and lambda is the isotope-specific decay constant. The math has been the same since Rutherford. The implementation discipline is what separates a working configuration from a non-compliant one.

Part 03: Scheduled decay adjustment processes

A SuiteScript scheduled process runs at fixed intervals, applies the decay formula to every active lot, and posts an inventory adjustment that reduces activity on hand. The interval depends on the isotope mix:

  1. F-18 and Ga-68 operations: Hourly or every 30 minutes. The product decays too quickly for daily adjustment to be meaningful.
  2. Tc-99m operations: Hourly is standard. Some operators run every 4 hours during the active business day.
  3. I-131, Lu-177, Y-90 operations: Daily is usually sufficient.

Each adjustment transaction posts as a decay adjustment with a reference to the calculation, preserving the audit trail under 21 CFR Part 11 requirements where applicable.

Part 04: Costing that follows the activity

Cost accounting on a decaying product is harder than the inventory problem. The naive approach (cost per vial, divided by number of vials) does not work because the product is not vials. The product is activity.

The standard approach Archer uses:

  1. Production order calculates cost per mCi at calibration time. Total batch cost divided by total activity produced at calibration.
  2. Cost per mCi is fixed at that moment for the originating batch. It does not adjust as activity decays.
  3. When a dose ships, COGS posts using the cost per mCi from the originating batch, applied to activity remaining at ship time.
  4. Decayed activity that never reaches a customer flows to a decay loss account, treated as a manufacturing overhead variance for management reporting and as a normal scrap allowance for GAAP purposes.

The financial result: inventory valuation is accurate at any point. Gross margin reflects what the customer actually paid for what they actually received. Decay loss is visible as a separate line item, not buried in COGS variance.

NRC compliance and lot tracking integration

10 CFR Part 20 and 10 CFR Part 35 require radiopharmaceutical operators to maintain records that demonstrate continuous control of licensed material from receipt or production through final disposition. The records have to identify isotope, activity, source, recipient, date and time, and the responsible authorized user.

NetSuite's standard lot tracking, configured correctly, satisfies these requirements. Archer's Drug License App manages the radioactive materials license, authorized user attribution, and renewal cycles. Bins are mapped to physical locations a radiation safety officer would recognize on a facility diagram: hot cell 02, storage bay A, quarantine, decay in storage.

Monthly reconciliation reports compare calculated decay-adjusted activity to physical survey measurements. Variance outside a defined tolerance triggers investigation. The report becomes part of the radiation safety committee's standing materials.

What this looks like at month-end close

With the configuration in place, the close runs cleanly. Activity on hand reflects decay-adjusted reality at the close date. Cost of goods sold reflects activity actually delivered. Decay loss is a separate, visible line item. Reconciliation between calculated activity and physical survey runs as a query. NRC documentation is generated on demand.

Without the configuration, the close runs on spreadsheets. Inventory adjustments are manual. The reconciliation is a project. The audit finding is predictable.

Related on archerinsights.com

  1. Radiopharmaceuticals. Archer's full configuration approach for radiopharmaceutical operations.
  2. NetSuite for radiopharmaceuticals hub. Foundation configuration for radiopharmaceutical manufacturers and CDMOs.
  3. CDMO industry page. Sponsor segregation and project accounting model for radiopharma CDMOs.
  4. Drug License App. Radioactive materials license tracking and authorized user attribution.
  5. 3PL Integration. Dose-level shipment tracking and delivery confirmation.
  6. Approvals App for SOX-ready workflows. Authorized user approval workflows.

External references

  1. NRC 10 CFR Part 20: Standards for Protection Against Radiation
  2. NRC 10 CFR Part 35: Medical Use of Byproduct Material
  3. FDA 21 CFR Part 11: Electronic Records and Signatures
  4. IAEA Nuclear Medicine Resources
  5. NetSuite Life Sciences ERP

Working session

Configure NetSuite for the physics of your product

A discovery call with an Archer implementation lead. Bring your isotope mix and your current inventory accounting approach.

Contact sales