top of page

Subcontractors and assembly

  • marco ferrari
  • Jun 6
  • 3 min read

During one of the recent MB-800 training courses I regularly run, someone asked me if it’s possible to manage a subcontracting operation using the Assembly Order module.

My first reaction was a firm no — it’s not possible, since the subcontracting functionality only works with the Production module.


But while I was answering, my brain was already wondering if there might be a way to make it work without using the specific subcontracting module, just relying on the standard assembly process. So I ran a quick test — and it actually worked. Of course, there are some limitations: a few things need to be handled manually, and others would require some customizations. Let’s take a look.


The subcontractor as an external resource

The basic idea is to use resources by including them in the assembly BOM. So I started by setting up a new resource:



The key part was setting the Base unit of measure to "pieces" instead of a time-based unit, assuming that the assembly cost is per item (e.g., €5.00 per piece). I also assigned the two posting groups — the first one should be added to the General Posting Setup so that, combined with the business posting group, it points to the subcontracting account.

For completeness, I also assigned the resource to a "SUBCONTRACTORS" group.


Adding the resource to the assembly BOM

At this point, I added the resource to the assembly BOM of item 1924-W.


When recalculating the standard cost, Business Central correctly includes the resource cost, treating it as an internal capacity cost:


External assembly

After setting the Assembly Policy field to Assemble-to-Order, I created a sales order, which in turn generated the corresponding assembly order for the item.


As expected, Business Central sees that the sales order line is linked to the BLU location, so it creates the assembly order in that location, including the consumption of the components.

However, we know that one of the standard features of the subcontracting process is that components are sent to the subcontractor, and once the finished product is received, those components are automatically consumed from the subcontractor's inventory.


So, we manually change the component consumption location to the subcontractor’s warehouse.


By setting up the stockkeeping units for the components in such a way that they are transferred to the subcontractor’s location and purchased into the BLUE location, running the planning engine (or even just the plan in the requisition worksheet) gives us the correct suggested actions: purchase them into BLUE and transfer them to the SUBCONTRACTOR location.


By executing the suggested actions and posting the purchase and transfer orders, we’re able to fulfill the sales order. This is the resulting Item ledger entry:

So the system correctly handles the inventory movements.


As for the resource, this is the related entry:



Basically, as mentioned earlier, the assembly module in Business Central treats resources as internal costs.


The subcontracting purchase order

Subcontracting normally requires creating a purchase order for the work to be done. What we can do here is create a basic purchase order and add the resource to the lines.


When we post the order (both receipt and invoice), Business Central posts the following entry for the resource:


So the system tells us we’ve purchased the external resource from the vendor — but now the cost is duplicated (we first used it internally, and then we purchased it).


An alternative to buying the resource directly could be to purchase the assembly operation itself, either by posting to the subcontracting G/L account or by using a service-type item. Of course, all of this is manual and not directly linked to the assembly order.


Limitations and possible improvements

As we’ve seen, with a basic setup, the system can support this kind of process — at least operationally. But there are some clear limitations:


  1. There’s no way to manage a resource cost list. Unfortunately, the unit cost isn't even shown on the assembly BOM lines, so the operation cost is always taken from the Unit Cost field on the resource card. If we had the option to vary the resource cost depending on the type of work, it would make sense to manage it at the BOM level.

  2. The component consumption location has to be set manually to the subcontractor’s warehouse. This could be automated through a customization, for example by linking the consumption location to the resource (since resources can be linked to vendors).

  3. The purchase document must be created manually. With a relatively simple customization, it would be possible to generate a purchase order for the subcontractor directly from the assembly order. A bit more complex, but still feasible, would be a batch job that scans assembly orders and creates one or more purchase orders for the subcontractor.

 
 
 

Comentários


©2022 di Marco Ferrari

bottom of page