Receipt Id Generation Rules
Solteq POS generates Receipt Ids, using the following rule by default:
ZZYYYXXXXXXX
Where:
ZZ is the number of the store (storeNumber) in 2 digits with leading zeros; fetched from the store configuration.
YYY is the workstation-specific number of the terminal (terminalNumber) in 3 digits with leading zeros; fetched from the workstation configuration. Currently when copying a (workstation/webshop) configuration, a new terminal number is assigned; the next available highest number is used. External orders and webshop workstations use static 000 as terminalNumber.
XXXXXXX is sequence number in 7 digits with leading zeros. Starts from 1.
When is Receipt Id Generated?
A Receipt Id is generated for an order when the very first successful or unsuccessful payment is made. Following payments for the same order do not cause receipt generation; they are assigned the same Receipt Id generated for the first payment. The order will not have a Receipt Id until the first payment is completed.
It is important to cancel every unpaid order that has a Receipt Id assigned, in order to avoid gaps in the sequence. An order with Receipt ID may be canceled if the first payment was unsuccessful, or when partial payments were removed from the basket before making the final payment.
Parked Orders
Parked orders do not have Receipt Ids assigned by default. If an order that has already been paid for needs to be parked, the only way to do this is to
delete the payment,
cancel the order,
copy the cancelled order, and
park it without any payment.
In the Back Office, orders without Receipt Id are displayed with a - (dash) in the Receipt Id column.
Initialization of Sequence Numbers
When a workstation is installed, the Receipt Id sequence number is initialized. If the workstation is installed for the first time, the sequence is initialized with value 0 (the first Receipt ID will have sequence number 0000001). If there were already some orders created on the workstation, or if the terminalNumber is reused (the workstation might be reinstalled because of a software crash, for instance) the sequence is initialized with the value assigned to the last order found from the Back Office.
External and Webshop Orders
External orders have the Receipt Id assigned with the same rules that are implemented on POS. As there is no physical workstation where the payment is made, the terminal number used for generating the Receipt ID has the constant value 000. The store number is taken from the request.
When an order is created via an external API, its payment may be included in the create order request, or added by calling the dedicated endpoint later.
It is also possible to pay external orders in the POS. In this case the receipt ID will be generated according to the configuration used in the workstation.