Technical Solution Document - WHT Deduction Sri Lanka

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Technical Document: Development of WHT Deduction in Business

Central
Prepared By - Sanka Dissanayake
Version 1.0 - 2024-03-05.

This document will outline the key aspects of our technical solution, including
both functional and technical details.

Finance Functional Solution as per Gap Fit Document


“A new table will be maintained with Service Code, Service Description and WHT %,
WHT applicable Amount (This will show what should be the total payment amount for
specific service code for a month in order to calculate WHT). In Vendor card, Default
Nature of Service will be maintained (new field). Similar to that, in Customer Card,
Default Nature of Service will be maintained (new field).

In Purchase documents, BC will update Default Nature of Service from vendor card.
User should be able to change it before posting the document. It is user’s/ approver’s
responsibility to select correct Nature of the service in the purchase document.

In Payment Journal, new fields such as ‘Nature of Service’, ‘WHT %’ (un-editable) will
be maintained. When user selects the vendor no., BC will update default Nature of
Service and related WHT % from above mentioned setups. IF user wants to settle for
different Nature of Service, user can manually update it. Later, the user will update the
amount in payment journal, apply relevant invoices (there will be a validation that
user could be able to select invoices that are matching with the Nature of the Service
mentioned in the payment journal) and click a button on Payment Journal Ribbon as
‘Calculate WHT’. BC will check whether the payment journal amount exceeds the ‘WHT
applicable Amount’ mentioned in the above setup. If so, BC will create a new line with
Dr Vendor; Cr WHT Payable Account (This will have same document no. as above line).

There should be a validation that BC will not allow to post payment journal if user
doesn’t run the calculation when Nature of Service Code is selected in Payment Journal
Line.

While posting the transaction, BC will update Nature of Service Code, WHT % to GL
Entry, Vendor Ledger Entry tables.”
1. Functional Requirements Recap

WHT Service Code Table:

● Maintain a new WHT Service Code table with fields for

 Code

 Description

 WHT %

 WHT Applicable Amount (Define what the total payment amount


should be for a specific service code in each month to calculate WHT).

Vendor Card:

● Add new fields for Default Nature of Service in Vendor Card.

● Only user setup authorised can change above field value.

Purchase Documents:

● Update Default Nature of Service from the Vendor Card.

● Allow users to change it before posting the document .

Payment Journal:

● Maintain new fields: ‘Nature of Service’, ‘WHT %’, WHT Base Amount” and
“WHT Amount” (un-editable).

● Retrieve default Nature of Service and related WHT % from setups when
selecting a vendor.

● Allow manual updates if settling for a different Nature of Service.

● Validate selected invoices based on Nature of Service.

WHT Calculation:

● Provide a ‘Calculate WHT’ button in the Payment Journal.

● Check if the payment journal amount exceeds the ‘WHT applicable Amount’.

● Create a new line for WHT if necessary.


2.
Implementation Steps

1. Develop the following functions:

WHT Service Code Table:


● Create a new WHT Service Code table with fields for

 Code

 Description

 WHT %

 WHT Applicable Amount (Define what the total payment amount


should be for a specific service code in each month to calculate WHT).

 Enable

General Ledger Setup

● Add a “WHT Enable” field to the general ledger setup as a table and page
extension.

● This field will allow global enabling of Withholding Tax (WHT) deductions.

● Validate the change trigger for the above field by checking whether the user
setup allows the “WHT Enable” option.

Vendor Card:

● Add new fields to WHT Service Code Vendor Card.

● Only user setup authorised can change above field value.

Update Default WHT Service Code in Purchase Documents:

● Add new field WHT Service Code to Purchase header and Purchase invoice
page.

● When creating or modifying a purchase document, retrieve the default WHT


Service Code from the Vendor Card and update the document accordingly.
● Allow users to manually change the WHT Service Code before posting.

Purchase and Payable setup.

Create “WHT Input G/L Account” filed on

Calculate WHT in Payment Journal:

● Add new fields to T-81 Gen. Journal as:

○ WHT Service Code,

○ WHT %’,

○ WHT Base Amount

○ WHT Amount” (un-editable).

● When creating a payment journal, retrieve the default WHT Service Code and
related WHT % from the setups for manual payment journal entries and for
those automatically payment journal creating entries it is required to update
WHT Service Code, WHT %, WHT Base Amount, WHT Amount fields.

○ Need to handle payment journal creation all scenarios and update the
WHT related fields.

■ Payment suggestions action get purchase invoice selected WHT


service code to payment journal.

■ Vendor ledger entry create payment action – subscribe to event


by updating WHT service code and relevant details.

■ Payment journals send for approvals and posting functions run


UpdateWHTPayJnlEntry procedure to update WHT details.

■ Handle WHT deduction from Payment journal multiple invoices


applied entries.

● Check G/L setup WHT global enable Boolean when executing WHT
calculations.

● Check cheque voiding options and related entries.

● Validate that selected invoices match the WHT Service Code mentioned in
the payment journal when check print and posting action press.
● Provide a “Calculate WHT” button that checks if the payment journal amount
exceeds the ‘WHT Applicable Amount’ from the setups. – this was auto
calculated when vendor code selected or amount field update, also need to
add this function to the approval sending action.

● If applicable, create a new line with Debit to Vendor and Credit to WHT
Payable Account.

2. Payment Journal Customization


● Detail the changes made to the Payment Journal:

○ New fields: ‘WHT Service Code’ and 'WHT %'.

○ Update ‘WHT Base Amount’ and ‘WHT Amount’.

○ Validation rules for invoice selection.


○ Payment journals send for approvals and posting functions run
UpdateWHTPayJnlEntry

3. WHT Calculation Logic


● Describe how the 'Calculate WHT' button works:

○ Check if the payment journal amount exceeds the 'WHT applicable


Amount'.

○ Create a new line for WHT if necessary.

4. Validation Rules
● Prevent posting if the user hasn’t run the WHT calculation when selecting the
WHT Service Code in the Payment Journal Line.

5. G/L Entry and Vendor Ledger Entry Updates

● During transaction posting, update the following tables:


○ GL Entry: Set the WHT Service Code and WHT %, “WHT Base Amount”
and “WHT Amount”.
○ Vendor Ledger Entry: Update WHT Service Code and WHT %, “WHT Base
Amount” and “WHT Amount” fields.

Additional setup to print Payment Journal Approved user’s signature on WHT


certificate:

On User Setup page add new blob filed as Signature to store user’s signature.

6. Reports

WHT Certificate Report


When Posting payment journal WHT Certificate print with Copy after the Payment
Voucher.

7. Permissions
Set Vendor card “WHT Service Code” update permission via user setup.

Use “WHT Enable” field for this when WHT Service Code CRUD operations
and Vendor card WHT Service Code changing validate this.

You might also like