Skip to main content

🇲🇴 Macau

This document describes all necessary configuration for a compliant setup in Macau.

Local mode support

Local mode is currently not supported. Activating local mode is done at your discretion and risk. We strongly recommend conducting thorough testing of local mode before going live to ensure it aligns with your expectations.

If you require support for local mode in compliance countries, please submit a JIRA development ticket, namely a request for change.


Taxes in Macau

Macau (SAR) currently has no value-added tax (VAT) or goods and services tax (GST). Therefore, the provided stencil for receipts and invocies pertaining to Macau, have no VAT field present. Please take this into account when configuring products and price lists as these should be marked with Zero VAT.

In order to configure your store in Macau to be compliant, the following configurations need to take place.


All settings below should be set on the most convenient level possible. In other words, if your organization structure has a country organization which houses all your Macanese stores, then that's where these settings should go.

SettingValueOrganization unitDescription
Auditing:ProviderWHITE_LABELWHITE_LABEL on store OU's when phased go live or country level when big bang go live.-
UseInvoiceOutputFacadetrueRoot level or container levelAttaches the Certified Invoice PDF when emailing the Invoice from POS & EVA Companion App. This setting enables the use of the CertifiedInvoice stencil with destination Mail
Auditing:UseInvoiceCloningtrueRoot level or container levelUsed to create a duplicate of an original invoice whenever a customer is attached or mutated.
Auditing:PublicKeyBlobID-Root level or container levelID of the blob that was uploaded that contains the public key. This setting will be set by us (see below how to request this).
Auditing:PrivateKeyBlobID-Root level or container levelPart of the key-pair. This setting will be set by us (see below how to request this).
Auditing:EnforceTransactionValidationtrueRoot level or container levelEnforces validation to happen during the transaction to prevent obvious configuration mistakes.
Checking missed configuration(s)

Once you're done with all configuration steps. Make sure to run the service: AuditingValidateConfiguration which should return any step(s) that you may have missed or possibly undocumented.

Request Public and Private keys

For the Auditing:PublicKeyBlobID and Auditing:PrivateKeyBlobID settings, please reach out to us by submitting a ticket via support.

After we do our part, we will go ahead and set those in your environment.

Do not tamper

Do not change the values of those two settings unless explicitly advised by us to do so.


Cosmos DB will be set up by us, as this is required to keep track of the technical event log and the X/Z reports. If this is not set up, you won't be able to see any details in the technical event log section of EVA Admin.


When configuring your Macanese organization unit(s), a company needs to be attached. If there is no Macanese company present yet, a new one can be created within Admin Suite under the Companies chapter. The following fields need be filled:

  • Name
  • VatNumber
  • RegistrationNumber
  • Address (VisitorAddress)
    • Street
    • HouseNumber
    • ZipCode
    • City
    • CountryID

Organization units

Once a company is in place, you need to attach it to an organization unit.

Make sure the following fields are filled when creating an organization unit:

  • Name
  • BackendID (store number)
  • BranchNumber
  • Address
    • Street
    • ZipCode
    • City
    • CountryID
  • CompanyID

It is crucial that you have the CompanyID field filled when creating the organization unit. You can retrieve this ID from the Macanese company you created/have. This is the legal entity under which this OU/store is operating and will be referred to when filling in the details on the invoices and receipts.


You can find steps on adding a new station here.

When creating a station, make sure the following fields are filled in:

  • Station name.
  • The checkmark This station is a fiscal station and will be used for transactions needs to be checked.

All payment types must have a category, otherwise the payment can't be correctly mapped, and ShipOrders would fail.


The following two tasks need be set up from Admin 1.0 under Management Tasks.

Financial period audit

The CreateFinancialPeriodAuditTask should be configured every second day of the month at 04:00. This task will basically do an automated generation of an audit file, which you can also trigger manually from the Audit files chapter of Admin Suite.

The following fields need to be set:

  • Name - (can be any unique name you want).
  • Cron: 0 4 2 * *
  • Arguments
    • Type - (can be left blank).
    • Organization unit - (the ID of the country of the Macanese OU).
    • Email address - (In case of task failures the email address you mention here will receive a notification. This is an optional field but quite handy).

Financial reporting period

The CloseFinancialReportingPeriodsTask should be configured every night at 03:00. This task will check and close reporting periods (months, years, fiscal years).

The following fields need to be set:

  • Name - (can be any unique name you want).
  • Cron: 0 3 * * *
  • Type - (1 for shops 2 for webshops)
  • Email address - (Again, this is an optional field but quite handy in case the task run fails).

Unlike the financial period audit task, this task does not require an organization unit. It will simply look at all the automatically opened reporting periods and make sure to close them.

Stencil for Certified invoices

For configuration and more details about Certified Invoices please refer to the general concepts section under Certified invoice stencil for thermal &/or PDF . A separate stencil is required to set up the email in which a certified invoice would be attached to. Configurations for such stencil can be found under Email invoice stencil.

Sample PDF and thermal receipts