Skip to Content
Technical Articles
Author's profile photo Jamshid Karimov

Construction/ Professional Services Industry Holdbacks

  1. Introduction
  • Understanding Construction/ Professional Services Industry Holdbacks

In the construction/professional services industry, in order to protect the buyer, holdbacks, or retention condition, which states that “holding back” a portion of the invoice until all the work is complete, may be inserted into contracts. Retention, retainage, or holdbacks are used interchangeably and for the sake of simplicity, we use holdback in this blog. Holdback is the sum withheld by the customer on progress payments and is later released to the contractor per the terms of the contract. Holdbacks have cash flow impact for businesses when taking into account the payment delay of holdbacks as for a fixed percent, say 10 %, of the sale proceeds.

  • The Potential Tax Implications

 In addition to the cash flow impact of holdbacks, it is also important to consider how they are taxed. The Canada Revenue Agency (CRA) allows for any holdbacks receivable to be excluded from income if the amount has not been received from the customer and the job is incomplete. This allows the company to defer any tax payments on its holdbacks receivable to a future date. The deferred tax liability on holdbacks significantly decreases the potential financial burden on the company. It also ensures that the tax expense incurred is in line with the operations of the company and can improve an organization’s cash flow management, as the company is not paying taxes on income it has not received.

  • Holdback Example

The example below shows how Holdbacks is handled in the customer invoice. As you can see tax is calculated not from the total amount, 2000 CAD,  but from the amount after holdback, 1800 CAD.


Holdback example

  1. Solution for Holdback in SAP Business ByDesign
  •  Current functionality

Retainage functionality is only provided in procurement but not in sales in ByD.  ByD allows withholding a certain percentage of the total invoice value as a security deposit until all goods have been delivered or all services have been performed by vendor by add Retainage in supplier invoice. However, this process is not supported in customer invoicing in ByD but there are some workarounds.

  • Proposed Solution
  •  Create a holdback/retainage service master

In order to get the correct total amount in the sales order/contract and to be able to invoice back the total retained amount we first create a fixed price item type service master. This will be used in the sales documents in order to capture the total retained amount.


Holdback-Service Master


Item Type for Holdback service master

  • Setting up a holdback price component

The next step is to create a price component for holdback. Byd does not allow creating a new price component but one of the discount price components can be changed to the retention price component. There are two discount price components, percentage and amount, are available in ByD. Depending on the business requirement either of these two can be changed to retention. As percentage is mainly used I change % discount to the retention and leave the amount discount for business to use for discount purposes.


Retention as a price component

  • Creating Sales Order/Contract

Depending on the business requirement Sales Order/Contract can be created. I will show sales orders as construction companies mainly use customer project functionality of ByD for their construction jobs. I will add one item for the project, which will be assigned to the customer project and holdback item, which I will use to capture the total retention amount in the sales order.


Sales Order with holdback amount

My total project amount is 10000 CAD. So I entered 1000 CAD (10% of 10000 CAD) as the price for holdback amount. In the Pricing and Invoicing tab, I add the retention price component, which will help to calculate the holdback amount in each invoice, in item level for the only first-line item. As you can see the total amount of sales order is kept 10000 CAD equal to the total amount of the project.


Pricing of Sales Order

  • Customer Invoicing

Depending on the requirement, different (invoice scheduling, project invoice request, reoccurring invoicing) customer invoicing can be used. Regardless of customer invoicing type retention will be in each customer invoice. Let’s see the invoice for 2000 CAD for this project.


Customer Invoice with holdback

  • Release of Holdback

Once the project is completed and all requirements are met. 2nd line item of the sales order can be released and confirmed. Then 2nd line item is invoiced so that the retained amount will be received back.

  •  Conclusion

Suggested above workaround helps users to capture the holdback amount separately in each customer invoice as well as defer output tax. It also enables users to invoice the total holdback amount at the time of the completion of the construction/ service projects.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Barry Wallace
      Barry Wallace

      Great blog post, Jamshid!  It would be great if SAP added similar functionality for receivables as they have done for payables, but in the meantime, this is a great workaround.  Thanks for sharing!!

      Author's profile photo Weerakhan Tantiphaiboontana
      Weerakhan Tantiphaiboontana

      Dear Jamshid,


      Thank you for sharing. In our case, the retention is applicable only to Cash Account, i.e. if 10% retention it would deduct 10% of (2,000 + 13% = 2,260) = 226 CAD. Do you have a suggestion?


      Best Regards