UAE Tax-Free Processes

In this article

Register a Shopper and Initiate Tax Free

After Payment – Creating the Tax-Free Request

QR Code on the Tax-Free Voucher

Cancel a Tax Refund

Automatic Tax Refund Behaviors

Partial Returns Cancel the Entire Tax Refund

Pre-Void Tax Refund Check

Voiding a Refund Cancels the Original Sale

Cancellation Can Be Rejected by Planet

Tax Refund State

Transaction Register Fields

Planet Tax Logs

This topic describes how a VAT refund transaction is completed at the POS when the store is configured to use the Planet Tax service in the UAE.

Register a Shopper and Initiate Tax Free

Before completing payment, the cashier must register the shopper's details on the POS.

  1. Add items to the transaction.
  2. Press the button assigned to the PLANETTAXSHOPPER command. The Planet Tax Shopper panel opens.
  3. Fill in the required shopper fields, or scan the shopper's travel document to auto-fill them. For more information about mandatory fields and document scanning, see Planet Tax Shopper Registration.
  4. Choose OK to confirm registration. A confirmation message is displayed.

Note: If the shopper is under 18 years old, the system blocks the registration and the tax-free request will not be sent.

After Payment – Creating the Tax-Free Request

After payment is completed, LS Central evaluates whether a tax-free request should be sent to Planet.

The request is sent automatically if the transaction total exceeds the Minimum Amount configured in Planet Tax Setup. If the total is at or below the minimum, no request is sent.

When the request is accepted by Planet, the following information is stored on the transaction:

  • The Tax Refund Tag received from Planet is saved on the transaction.
  • The Tax Refund Amount returned by Planet is stored.
  • The Tax Refund State is set to Requested.

If the request fails, the Tax Refund State remains blank and an error message is displayed on the POS.

QR Code on the Tax-Free Voucher

When Planet accepts the tax-free request, its response also includes a QR code value alongside the Tax Refund Tag. LS Central stores this value on the transaction and prints it as a QR barcode on the tax-free voucher, next to the Tax Refund Tag. A refund agent scans this code to look up and verify the voucher when the shopper claims the refund.

The QR code is printed automatically as part of the receipt footer for a Tax Free transaction that is not a return. Before printing the barcode, LS Central checks that a QR code value was actually returned by Planet and that it is not longer than 2048 characters.

Note: If no QR code value was returned, or if the value exceeds 2048 characters, the QR code is left off the voucher; the rest of the tax-free information, including the Tax Refund Tag, still prints normally. The same QR code is also included when the transaction's Detailed Receipt is printed or reprinted.

Cancel a Tax Refund

A tax refund can be cancelled after it has been requested, as long as the Tax Refund State is Requested. Once a refund is cancelled, it cannot be reactivated.

There are two ways to cancel a tax refund:

  • From the Transaction Register: Open the Transaction Register, select the transaction, and choose Tax Return Service > Cancel Tax Refund. The Cancel Tax Refund action is only enabled when the Tax Refund State is Requested.
  • From the POS: Use the CANCELTAXREFUND POS command assigned to a button while the Transaction Register lookup is active.

After a successful cancellation, the Tax Refund State is updated to Cancelled and the name of the user who performed the cancellation is recorded on the transaction.

Automatic Tax Refund Behaviors

In addition to the manual cancellation described above, LS Central automatically triggers the following tax refund behaviors, without any explicit user action. Understand these behaviors before configuring return, void, and cancellation workflows for tax-free transactions.

Partial Returns Cancel the Entire Tax Refund

When a return sale is posted, the system automatically sends a cancellation request to Planet for the original transaction's Tax Refund Tag. This request identifies only the tag number of the whole original transaction; it does not reference specific lines, items, or quantities.

As a result, returning only part of a tax-free transaction still cancels the tax refund for the entire original transaction, not only for the returned lines or amount.

Note: There is no partial tax refund. A partial return of a tax-free sale cancels the whole refund in the same way that a full return does.

Pre-Void Tax Refund Check

Before a transaction linked to a tax refund can be voided, LS Central automatically checks the current status of the refund with Planet. This check runs only when the transaction has a Tax Refund Tag and its Tax Refund State is Requested.

The system calls Planet's transaction lookup service and expects the response to include:

  • A status value equal to VALID.
  • A ptfStatus value that is one of the statuses accepted for cancellation.

If either value is missing from the response, or if the values returned are not among the accepted ones, the void operation is blocked and an error message is displayed on the POS.

Voiding a Refund Cancels the Original Sale

Voiding a posted return/refund transaction re-runs the same cancellation logic that ran when the return was originally posted. If this results in the voided transaction's Tax Refund State becoming Cancelled, the system searches for the matching original sale transaction using its Receipt No. and Tax Refund Tag only.

If a matching original transaction is found with Tax Refund State equal to Requested, its Tax Refund State is automatically updated to Cancelled, and the Cancelled by User field is copied from the return/refund transaction being voided.

Note: Voiding a refund transaction can change the Tax Refund State on a different transaction — the original sale — not only on the transaction being voided. Store No. and POS Terminal No. are not part of the match, so this also works correctly when the return is voided at a different store or terminal than the original sale.

Note: This write-back to the original sale also runs whenever a return/refund transaction with Tax Refund State equal to Cancelled is inserted into the database — not only when it is posted or voided at the POS. This ensures the original sale is still correctly marked Cancelled in head-office/replication scenarios, where a return transaction can be inserted into the head-office database (for example, by replication) without the standard POS posting process running there.

Cancellation Can Be Rejected by Planet

Planet can reject a cancellation request outright — for example, when the shopper has already collected the refund. In that case the tax refund cannot be reversed, and Planet returns an error instead of confirming the cancellation.

What the cashier sees depends on how the cancellation was triggered:

  • Manual cancellation (from the Transaction Register, or the CANCELTAXREFUND POS command): The POS displays the message returned by Planet. The Tax Refund State stays Requested; no state changes are saved.
  • Automatic cancellation (posting a return sale, or voiding a posted return/refund transaction): The rejection currently surfaces as an unhandled error during the transaction's posting/fiscal process, since this path does not yet catch the error the way the manual command does. This can interrupt completion of that posting step rather than failing silently. The Tax Refund State is not updated to Cancelled in this case, and the original sale is not written back either.

Note: If a refund cannot be cancelled because it has already been collected, the Tax Refund State stays at Requested on both transactions. This is expected: Planet does not allow reversing a refund that has already been paid out to the shopper. The automatic-cancellation behavior described above is a known limitation under review — engineering has in-progress work to make it fail as gracefully as the manual path.

Tax Refund State

The Tax Refund State field on the Transaction Register shows the current status of the tax-free request for a transaction.

State Meaning
(blank) No tax-free request has been sent for this transaction.
Requested A tax-free request has been sent and accepted by Planet. The refund is active and can still be cancelled.
Cancelled The tax refund has been cancelled. No further action is possible on this refund.

Transaction Register Fields

The following fields are added to the Transaction Register by the Planet Tax Free integration.

Field Description
Tax Refund Tag The unique identifier returned by Planet when a tax-free request is accepted. This value is used by Planet to track the refund.
Tax Refund State Shows the current state of the tax-free request. Possible values are blank, Requested, and Cancelled.
Tax Refund Amount The refund amount returned by Planet for the transaction.
Tax Free Voucher Number The voucher number assigned to the tax-free transaction by Planet.

Planet Tax Logs

All requests sent to and responses received from Planet are recorded in the Planet Tax Logs page.

To open the logs:

  1. Open the Planet Tax Setup page.
  2. Choose Action > Processing > Logs.

Each row in the log represents one communication with Planet and shows:

Column Description
Store No. The store where the transaction occurred.
POS Terminal No. The POS terminal used for the transaction.
Transaction No. The transaction number associated with the log entry.
Entry No. A sequential entry number identifying the log record.
Error Displays any error message returned from Planet for this entry.

To view the raw data for a log entry, select the row and use the following actions:

  • Request – Displays the payload sent to Planet.
  • Response – Displays the response received from Planet.

See also

Tax Return Service Setup

UAE Setup

Planet Tax Shopper Registration

Planet Tax Commands