Sage 50 · 3 min read · Updated August 21, 2026

Sage 50: "You cannot add or remove assembly components if any transactions have been

Sage 50 locks an assembly's component list once any transaction has used it, and this page explains why and what you can still do.


The message “You cannot add or remove assembly components if any transactions have been entered for the assembly” means exactly what it says, but the reason behind it is usually the surprise. Sage 50 is not refusing out of stubbornness. Once an assembly item has been built, sold, or adjusted, its history is tied to the exact component list that existed at the time. Editing that list retroactively would rewrite cost and quantity history that has already been posted, so the program locks the bill of materials.

Why Sage 50 freezes the component list

An assembly in Sage 50 (sold as Peachtree in the US and Simply Accounting in Canada) is not just a grouping of parts. Each build or sale pulls the component items out of inventory and rolls their costs into the finished item. If you removed a component after those postings, the historical costs would no longer match the components actually consumed. Rather than let the books drift, Sage 50 blocks the edit the moment a single transaction touches the assembly.

What you can still change

The lock applies to adding and removing components, not to everything. You can generally still edit descriptions, prices, and similar header-level details on the item itself. Quantities of existing components may also be adjustable in some configurations, though this depends on your version and how the item was set up. Test on a copy of your company file before committing to any change.

Build a replacement assembly instead

The standard workaround is to create a new assembly item with the corrected component list, then retire the old one. Give the new item a clear name so reports stay readable. Stop using the old assembly going forward; its history remains intact, and the new item carries the correct bill of materials from day one. This is the cleanest option and the one we recommend first.

Restore a backup from before the first transaction

If the assembly was used by mistake and only a handful of transactions exist, restoring a backup taken before the first use lets you fix the component list and re-enter the transactions. This is only practical when the volume of re-entry is small and nothing else important has happened since. Weigh the re-keying effort against how badly the component list needs to change.

When the file needs professional attention

If the assembly is deeply wrong, has years of history, or the lock is blocking a conversion or cleanup you cannot avoid, the fix has to happen inside the data itself. Editing the component list of a transacted assembly is not something the program will do for you, and a manual attempt risks corrupting the file. Our engineers can adjust assemblies directly in Sage 50 data, and we also handle Sage 50 to QuickBooks conversions where assembly structure matters. If your file is already misbehaving, see our Sage 50 database repair service.

A useful next step

Before working around the message, check how many transactions reference the assembly. If it is a handful, the replacement-item route is quick. If it is hundreds, or the file is damaged, send it to us for a free evaluation and quote; the right approach depends entirely on what is in the file.