Boyum Production Order Repairs with SAP Business One
I often work with Boyum production order repairs to effectively track manufacturing costs in a remanufacturing or repair facility. I focus on ensuring that the components and the manufactured items are identical. The 'core' being reworked serves as its component material.
A great example is pump repair, where an older pump contains core components that I can reuse during refurbishment. Of course, many components, such as gaskets, must be replaced with new parts.
Understanding Production Orders (PDOs)
In my documentation as an SAP Business One consultant, I refer to production orders as 'PDOs.' The production process starts with creating a Production Order, the main document for tracking the manufacture of every item.
Before I can begin work, I must change the Production Order status to Released. This step is crucial as it allows the Production Order to accumulate costs.
Before I can begin work, I must change the Production Order status to Released. This step is crucial as it allows the Production Order to accumulate costs.
Managing Components on the Shop Floor
After I release the components used in the production process, they are sent to the shop floor based on the chosen issuing method. This structured approach helps streamline operations on the ground.
Reporting Order Completion
Once all work is finished, I ensure that the completion of the production order is reported. At this stage, the finished items are received in the warehouse, marking a significant transition in the production workflow. It's worth noting that if I have defined an automated method for issuing components to the shop floor, the timing of this issuance aligns with the reporting completion.
Closing the Production Order
When the production process wraps up, I close the Production Order. This action is essential as it generates a journal entry that balances inventory accounts for companies utilizing perpetual inventory management.
Feel free to explore more for deeper insights into my methodologies and best practices.
Feel free to explore more for deeper insights into my methodologies and best practices.
User view of PDO Customer Repairs
Repair items arrive in your plant in one of two ways: 1. A customer has a part needing repair and calls you to see if you can accept this part for repair; or 2. You have a purchased a 'lot' of parts that need repair before they can be sold as 'refurbished', and these parts are received into your warehouse.
The customer calls your company and describes a product that needs repair. You agree that this is a product that your company 'may' be able to repair. Assuming 'yes', you enter a 'customer return request' document into SAP. The default warehouse for the items on the customer return request is a warehouse designated as the 'Repair' or 'Rework' warehouse. You may or may not have this part in your item master / BOMs. If not, then part of the return request process is to create the item(s) to be repaired. Likewise, you may need to create the customer if they are not a current customer. The end result is an SAP Customer Return Request Document.
The customer has the 'return request' document number (RMA) and sends the product to be repaired to your plant. It is received by copying the retrun request document to a customer return document. This places the on hand of the item into the rework warehouse inventory.
At this point one of your repair personnel needs to look at the item(s) to be repaired and estimate the cost of the repair so that your customer can be informed of the likely expense. In the process of preparing the estimate, an SAP sales quote document is created from the customer return document. The repair personnel create a PDO from the sales quote and then define all of the costs they can associate with the repair. In some instances they may have a BOM in SAP for the item to be repaired. i.e. you repair a product line for which you have the BOMs.
Once the PDO is as defined as close as possible, the costs from the PDO are applied to the originating sales quote, marked up via your markup processes, and then the revised quote is saved and then emailed to the customer.
If the customer accepts the quoted price, the sales quote is turned into a sales order using standard SAP copy functionality.
The production order is 'released' and the repair process begins. All time and components used in the repair are recorded in the PDO. When the repair is completed, the repaired product is 'received' into a non-repair warehouse via the SAP standard PDO report completion process.
The sales order previously created is updated with any additional costs (assuming not a fixed cost repair). Then the delivery order is created and the product is shipped back to the customer. An invoice is then created from the delivery order.
Customer Return Request
The first step in the repair process is to receive the products to be repaired from the customer. When the customer first contacts your company, enter a 'Customer Return Request' document into SAP. The document id is the 'Return Material Authorization' or RMA to provide the customer. Ask them to include this RMA number on the products returned to your conpany.
When the goods arrive, use the RMA number to retrieve the Customer Return Request Entry' document. Check the quantity being returned and the item ids against the products actually received. If they are correct, 'Copy' the return request to the customer return document. This adds the product into inventory in the rework warehouse. The product is returned at $0 because the product is not yours.
NOTE: there is a 'Create Quote' button on the Return screen.
Sales Quote
From the customer return document, the 'Create Quote' button will create a sales quote for the returned items. As it is created, the pricing defaults to zero as the repair cost and hence the price are unknown at this time.
This is an 'open' quote. Your repair estimator should review open quotes periodically and create 'PDOs' to record all the repair costs estimated. There is a button on the quote 'PDO Create' that creates the PDO for your estimator.
PDO / Quote Costs
On the PDO there is a 'Cost Estimate' button. After your estimator has added all the components he/she thinks are required for the repair AND has estimated the labor, click on this button. The cost estimate report is shown below. A similar butto 'PDO Costs' is on the Sales Quote but does not show the detail.
NOTE: the extended amount does not include any markup for the parts or the labor.
NOTE: the PDO Costs button on the sales quote shows the PDO costs but does not 'transfer' the cost to the 'Unit Price' field. This could be added via Boyum but is subject to many different 'markup' methods so I left this off.
Boyum Functions
Item Placements
Buttons added to selective screens - using Item Placement ToolReturns Form
Force the warehouse on the Returns form to be the 'Rework' warehouse. This B1 Validation is invoked when the user leaves the 'item' field. The Universal Function forces the warehouse code to be the 'Rework' whs.returns form
Clicking the 'Create Quote' button calls this B1 Validation. If there are repair items, then the Universal Function REP-01 is invoked. This is a 'Line Loop'. On the first pass it calls the UF REP-02. For each line item it calls the UF REP-03. Finally, when ending the line loop the UF REP-04 is called.Quote Form
There is a 'PDO create' button on the quote. When clicked the B1 Validate function shown is invoked. There are several checks - and error results will call UFs REP-13, REP-14 or REP-15. Assuming PDO create is possible, the UF REP-05 is called. It does some setup and then calls REP-06, which in turn calls REP-07.Quote Form
The second button added to the quote form is the 'PDO' costs button. When clicked this invokes the B1 Validation shown. It in turn calls the UF REP-08 - a SQL report of the associated PDOs costs.Production Order Form
The user can double click on a component that is a repair item (normally the 1st line) and the BOM components for this item will be displayed. The B1 Validation for the double click calls the SQL UF REP-16. It displays the BOM. The user can select as many of the BOM components to move to the Production order as are needed for the repair. NOTE: I am using the selected 'Target data' from the report to update the PDO component list. Refer to this in the REP-16 under 'Select Data Target'.Production Order Form
When a Production Order with a 'Released' status is added or updated the system checks to see if there is a sales order associated with the sales quote from which the PDO was created. If there is, then the sales order information is added to the PDO to take advantage of the SAP linkages between the sales order and the PDO. The validation calls the UF REP-09 which sets the sales order number field on the PDO.production Order Form
When the 'Cost Estimate' button is clicked on the PDO, a B1 Validation calls the UF REP-10. This produces a SQL report of the costs for this PDO.
PDO Repair Processes
Repairs of products differ significantly from processing of PDOs for new components. Here are the objectives of the 'repair' processes:
- Record the acceptance of a product for 'repair' from a customer in SAP. Use the customer return request document as the 'RMA' to issue to the customer.
- Quote the repair price to the customer and record this quote within SAP.
- Capture the costs of all of the labor and parts associated with the repair in a production order.
- Create a sales order for the repaired item from the quote and the production order costs.
- Ship and invoice the repaired item.
- Maintain a linked document trail within SAP for each repair.
User View Of PDO Internal Product Repairs
In some instances product repair is your business. I'll use 'pumps' as an example. You repair a certain line of industrial or agricultural pumps and you buy them in 'lots' as they come up for sale.
The first time an SAP user sees these products is when they are received into a 'Repair' warehouse. In some instances all of the products being received are already inventory items within SAP - and may even have BOMs recorded. In other instances someine needs to created these items in the item master.
At this point the inventory has multiple pumps in inventory in the 'repair' warehouse.
Production orders are created for same item pumps (may be one PDO / pump, or one PDO with several of the same pump being repaired).
The 'planned' PDO may have a list of items that always get replaced - bolts, gaskets, hoses etc. These would be included as components in the PDO.
The repairs are made and the parts used in the repair and the time expended with the repair is recorded.
Once the pumps have been repaired, the PDO report completion process moves the refurbished / repair product to a non-repair warehouse.
This inventory of repaired products is now available to sell to your customers.
Setup for Repairs
There are a few steps to take to set up SAP to process repairs. The first is setting up a 'Rework' warehouse. This is used to receive parts that are in need of repair - so their on hand is separate from the on hand of 'good product'.
The second step is to set up another warehouse for 'Labor'. This warehouse will be used for the 'resources' used in the production order that are labor.
If you sell 'new' products for the same products that you repair you should set up a third warehouse for the 'refurbished' / 'repaired' on hand. Items will only be held in this warehouse after you complete the repair but it is better business practice to separate the repaired on hand from the new on hand.
The production orders will record the labor required for the repair, so at least one 'Resource' must be defined. If you have different labor rates for people that perform the repairs you can set up multiple resources with different labor rates.
NOTE: Make certain the default warehouse for the resource is set to the 'Labor' warehouse.
The last step is to set 'Property 1' as checked for all items that are considered as 'Repair' items. This enables special processing of PDOs.
Production Order Create
When the 'PDO Create' button on the quote is clicked a production order for this repair is created. The end result is a production order is created, but lots of behind the scenes work is being done at this point.
- A check is made to determine if the sales quote item(s) are 'repair items'. Only repair items are used to create PDOs from this button. A message will be presented if there are issues.
- Another check is made to determine if a PDO for this quote - item(s) is already on file. If true, a message saying you should modifiy the current PDO is presented.
- If there are no errors, the PDO is created as a 'Special' PDO. The item to be repaired is the PDO 'Product No.', the item to be produced. It is also the first item used in the repair. One labor resource is added as the 2nd line of the PDO.
- The 'Reference Link' between the PDO and the sales quote is added. See link below showing the 'Return', 'Quote', 'PDO' and 'Sales Orders' linkages.
- On the production order, the focus is at the item level. If the user double clicks on the item detail and it has an associated BOM, then the BOM is displayed.
- From the BOM, the user can select one or more items that need to be included as components of the repair.