Prepayment invoice clarification

I would like to clarify the process related to advanced payments.

  1. Can the prepayment with invoice type code 386 be submitted and cleared as a standalone invoice, then referenced later in the final invoice?

  2. Or should it only be included as part of the final invoice through the invoice adjustment process?

  3. In case no final invoice is issued, what is the correct procedure to refund a reported prepayment?

Appreciate your guidance on the above points.

2 Likes

Short answer: Yes, you can issue the prepayment as a standalone 386 invoice and clear it immediately. Then you reference it later in the final invoice.
This is actually the normal ZATCA-compliant flow.

Long answer:

:white_check_mark: 1. Can the 386 prepayment invoice be issued standalone?

Yes.
When you receive an advance payment, ZATCA requires you to issue a separate prepayment tax invoice (type 386).
It gets reported as its own invoice and is considered fully valid on its own.

Later, when you issue the final invoice, you:

  • use invoice type 388,

  • reference the prepayment invoice IRN/date/time,

  • and put the prepayment amount in the PrepaidAmount field.

This is the standard sequence.

:cross_mark: 2. Should it only be part of the final invoice through adjustment?

No.
If you received money before supply, ZATCA wants a standalone prepayment invoice first.
You don’t “wait” until the final invoice.

:counterclockwise_arrows_button: 3. If no final invoice is ever issued (order canceled), how do you refund it?

You issue a credit note referencing the original 386 prepayment invoice.

That’s the clean way to reverse VAT and cancel the advance invoice in ZATCA’s system.
Then you refund the customer normally through your payment method.


TL;DR

  • 386 = issue it immediately when you take advance money.

  • 388 = final invoice where you deduct it.

  • If canceled = credit note referencing the 386.

This is the widely accepted and safe approach under ZATCA.