ZATCA e-Invoicing Phase 2: Applicability, Requirements, Rules and Regulations in Saudi Arabia

@Hilal_Al_Majed_Tradi I deleted two of your posts, one because it was soliciting and the other because you provided personal information in this case your phone number. Please familiarize yourself with FAQ - Manager Forum, in this case:

Be non-commercial. Do not offer or solicit products or services.

and

  • Be anonymous. For your own protection, please do not include personal information in your public posts: no addresses, telephone numbers, or email addresses. If you want to exchange personal information with another Forum user, use the private message feature. If responding via email, be sure to delete any automatic signature information before sending.

Ok

Appreciate your support. It would be much better if you could have provide the video along with Audio.

You have to be joking.

The valuable thing which @Mabaega is providing is a software solution.
You do realised by far the majority of jurisdictions do not have any support for electronic communication from Manager to their tax authority.

Hi @Mabaega

we are trying to submit one invoice where we have to deduct advance payment received from customer but we got below error
I will be waiting for your reply,
{
“requestUri”: “https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices”,
“requestType”: “Invoice Compliant Check”,
“statusCode”: “400-BadRequest”,
“clearanceStatus”: “NOT_CLEARED”,
“validationResults”: {
“status”: “ERROR”,
“infoMessages”: [
{
“status”: “PASS”,
“type”: “INFO”,
“code”: “XSD_ZATCA_VALID”,
“category”: “XSD validation”,
“Message”: “Complied with UBL 2.1 standards in line with ZATCA specifications”
}
],
“warningMessages”: ,
“errorMessages”: [
{
“status”: “ERROR”,
“type”: “ERROR”,
“code”: “BR-KSA-F-04”,
“category”: “KSA”,
“Message”: “[BR-KSA-F-04]-All the document amounts and quantities must be positive, unless specified otherwise.”
}
]
}
}

Hi @abdulbari

ZatcaEGS Invoices do not yet support Advance Payments.

From what I understand, we are required to report the receipt of any advance payments to Zatca separately.

Could you please clarify if you have previously reported Advance Payments using DocumentTypeCode = 386? If so, how did you manage this reporting process?

Additionally, I would like to understand better how Advance Payments are supposed to work. As I understand it, making an Advance Payment adjustment in an invoice requires us to include the Receipt Reference.

Advance Payment adjustments from SDK :

<cac:InvoiceLine>
        <cbc:ID>2</cbc:ID>
        <cbc:InvoicedQuantity unitCode="PCE">0.0000</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="SAR">0.00</cbc:LineExtensionAmount>
        <cac:DocumentReference>
            <cbc:ID>46531</cbc:ID>
            <cbc:UUID>a79760f7-2f48-4da9-85a5-40459a147c80</cbc:UUID>
            <cbc:IssueDate>2022-08-15</cbc:IssueDate>
            <cbc:IssueTime>12:28:17</cbc:IssueTime>
            <cbc:DocumentTypeCode>386</cbc:DocumentTypeCode>
        </cac:DocumentReference>
        <cac:TaxTotal>
            <cbc:TaxAmount currencyID="SAR">0</cbc:TaxAmount>
            <cbc:RoundingAmount currencyID="SAR">0</cbc:RoundingAmount>
            <cac:TaxSubtotal>
                <cbc:TaxableAmount currencyID="SAR">1000</cbc:TaxableAmount>
                <cbc:TaxAmount currencyID="SAR">50</cbc:TaxAmount>
                <cac:TaxCategory>
                    <cbc:ID>S</cbc:ID>
                    <cbc:Percent>5.00</cbc:Percent>
                    <cac:TaxScheme>
                        <cbc:ID>VAT</cbc:ID>
                    </cac:TaxScheme>
                </cac:TaxCategory>
            </cac:TaxSubtotal>
        </cac:TaxTotal>
        <cac:Item>
            <cbc:Name>Laptop | حاسوب محمول</cbc:Name>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>5.00</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID="SAR">0.00</cbc:PriceAmount>
        </cac:Price>
    </cac:InvoiceLine>

Could you please provide more details on this process?

e-invoicing_detailed__guideline.pdf

1 Like

The current process will be as follows

  1. Customer will created VAT Down Payment Invoice to collect cash before delivery of service or goods as per agreed terms and conditions
  2. VAT Invoice will be issued as agreed then new line will be added to deduct paid advance payment fully or partial ( where there will be VAT Adjustment + -).

since manager isn’t supporting this yet as module we were using this approach to be able to created VAT Invoice with Advance Paid Adjustment

is there any possibility to use same practice

after 2ed phase this is the first case in manager

Receipt Reference could be added manually to the invoice, I didn’t come across any erp where it will populate these information automatically

looking forward to get your advise how we could solved it in this way

our issue customer refuse to do this adj by issuing credit note their reason is they have get it from other why we couldn’t do it from our system

This should be applicable. I just need to make sure that this is the best way to do it and can be used as a reference for other users.

We’re going to use the way you do.
From the Edit Form you shared, you add an Item with a negative value for the Prepayment Adjustment.

So we will need a Non Inventory Item with the name ‘Prepaid Adjustment’.
In the Description we add a reference from the prepayment that we received manually.

REF: 46531 | 2022-08-15 | 12:28:17
or
REF: 46531 | 2022-08-15 | 12:28:17 | a79760f7-2f48-4da9-85a5-40459a147c80

This is required to generate a Prepayment Reference

        <cac:DocumentReference>
            <cbc:ID>46531</cbc:ID>
            <cbc:UUID>a79760f7-2f48-4da9-85a5-40459a147c80</cbc:UUID>
            <cbc:IssueDate>2022-08-15</cbc:IssueDate>
            <cbc:IssueTime>12:28:17</cbc:IssueTime>
            <cbc:DocumentTypeCode>386</cbc:DocumentTypeCode>
        </cac:DocumentReference>

What do you think?

Thanks

It should be ok

May I know if ref should added manually or system generated

This should be added manually.
To be able to create an Invoice as expected, a Prepayment reference must be present in the Invoice sent to ZatcaEGS. The easiest way is to add a reference to the Item Description.

When EGS lists Items by Name ‘Prepaid Adjustment’, EGS will look for the references needed for the Prepaid Adjustment and formulate them according to the expected structure.

The format in the Description must be consistent and must include the mandatory fields for Prepayment reference. ID, IssueDate and IssueTime of Prepayment Invoice in order as I mentioned above.

This can only be done Manual at this time.

1 Like

Thanks Mabaega for your effort and support

It is noted

please allow to use in the invoice we will add it manually till it gets improved

please let me know when it will be ready for use

Thanks

Regarding the Prepayment Adjustment, how do you receive Prepayment from the Customer? What transactions do you make with the Manager?
Please share a screenshot of the transaction form edit.

Thank you.

Please find below process

  1. issue Sales Invoice ( changing the name to VAT Advance Invoice ) as per below
  2. Booking Receipt Voucher once payment received from customer as per below
  3. Adj Advance Payment Received in invoice as per below

this is the current process we follow but we are not able to do in ZATCA Einvoicing ||

When transferring invoices from the primary user, the transfer is successful. However, when attempting to transfer from another user, this message appears. This is the attached file.






Use user that have role full access to submit an Invoice.

The problem may occur because the user does not have full access to the Business Details settings when Zatca EGS sends back the Invoice Reference received from the server to update the data in Business Details.

The problem was actually solved once all permissions were given to the user.