Retention in invoices

for construction projects we use the same concept. I dealt with it as follow

1 Like

I gave him this solution in the very start but seems like he only want to show it after total like withholding tax.

Honestly, before replying, you should’ve taken the time to properly read the question
The issue isn’t about understanding retention that’s already clearly explained above

The core of the matter is the need for a dedicated tool similar to the Withholding Tax feature, but specifically for Retention.
Also, the retention amount should appear after the invoice total, as is the case in many other accounting systems — feel free to check them out to get a better idea.

Replies like this unfortunately cause confusion for the developer instead of helping, because this isn’t a discussion about accounting concepts — it’s about a technical implementation that aligns with the required invoice format.

A support forum focuses on how to use the existing program features to address business challenges. (Which is what support has been doing).

Which is in contrast to most users who would like an off the shelf program to be customised to their specific desired solution. (Which is what @Esllam_Rashwan appears to be requesting).

However the programmer does try to enable most jurisdictions requirements documented by their government. So there is value in a user providing a reference to their jurisdiction’s requirements and why Manager currently doesn’t support it.

With all due respect, this is not about customizing the software based on personal preferences or specific jurisdictions.

The concept of Retention / Performance Guarantee is not tied to any one country — it’s a well-established commercial practice, especially in construction contracts.

What’s more, even simpler accounting systems with far fewer capabilities than Manager support this feature in a clear and native way.

Presenting this as just a user-specific customization request is simply inaccurate. This is a standard feature that most accounting platforms already include as part of their core functionality.

Sounds as if you would be better off using a different software

The same rule of retention is aplicable in my country Pakistan too. Some of our clients retain 10% or 5% for a certain period of time as guarantee that our service or product will serve its purpose. it is released after completion of stipulated time period. In Govt contracts its a common practice here.

2 Likes

@Ealfardan @Mabaega

Withe invoice that includes a retention (performance guarantee) , I encountered an issue:
ZATCA’s system does not accept invoices unless a tax category code is assigned for each line

In this case, the retention amount is listed as a negative line with 0% VAT, the invoice cannot be submitted or accepted — especially by the client (Aramco).

What’s your current issue? Invoice not accepted by ZATCA or Client (Aramco)?

The issue now is with the client, specifically Aramco, which—as you know—is a very important and strict client in Saudi Arabia.

Aramco requires the retention amount to be shown after the invoice total, not as a separate line item within the invoice body, and it should not be subject to VAT.

As for ZATCA (Fatoora platform), the invoice is now accepted only after assigning a tax category code for the retention line. Without assigning a tax code (even 0%), submission to ZATCA is rejected

This can be easily achieved using Theme Enhancer.

This needs to be looked into further

1 Like

So if the first part can be handled using Theme Enhancer,
then I believe there would be no need to add a separate retention line,
and accordingly, no need to assign a tax category code for it.

I think the core solution would be to introduce a dedicated field or tool,
similar to how the withholding tax mechanism works —
where the deduction is applied after the total, without being treated as a normal invoice line.


Thank you! You’re always helpful. :folded_hands:
The invoice layout looks great now — this is more than enough for the time being :ok_hand::nerd_face:

However, just one note:
The retention amount is not reflected in the accounting / ledger balances.
It appears visually on the invoice, but it doesn’t impact the actual account entries.

1 Like

Don’t mention it.

What I meant was to instruct Theme Enhancer to lookup “Retention” item and do the following with it:

  1. Keep track of the amount
  2. Remove the line item
  3. Recalculate the totals array excluding the amount
  4. Put back the retention amount after the totals
  5. Calculate a new total after the retention amount

This way, the retention amount is not only a cosmetic display on your printed invoice, but also a General Ledger entry.


Edit: You might want to be more literal with your instructions than I just did, meaning, you may want to tell the AI the sign of the retention amount to look for, what totals are affected, what to do in case these line items and totals are not available. You get the idea

To accommodate Retention, I believe it would be better to provide a dedicated entry — similar to how Withholding Tax is handled, as shown in the image below.

4 Likes

Yes this option will sort out VAT issues and receivable

There is no need for a specific retention option instead withholding tax need improvements. It would be better if multiple withholding accounts could be selected on an invoice and each with a specific label just like for Tax codes.
Still the original issue of retention could be solved with multiple due dates which was mentioned by @lubos earlier.

1 Like

Yes, this is also a good option, as long as Retention is not used together with Withholding Tax in the same invoice.

It seems that Retention, in this case, is not time-based like Late Payment Fee or Early Payment Discount.

Actually it is. The retention amount is still payable by the customer but retained for a certain time period in case anything goes wrong with the product/service provided by the supplier. When that period is over that amount is paid by the customer to the supplier.

1 Like

I completely agree with your suggestion.
It would be even better if the “withholding” label itself could be renamed or customized — allowing users to assign any relevant name or code, not just limited to “withholding”.