Edge cases
This section will cover edge cases regarding sales orders and payments.
Split Products
Watch the YouTube video below for a practical demonstration of managing split products on our POS system:
In the restaurant industry, it's common for customers to share a product and
handle payment separately. Our POS system facilitates this through the ability
to split products into multiple transactions. This introduces the concept of
differentiating these splits for inventory management, addressed by the
stockImpactIndicator
attribute in our API.
The stockImpactIndicator
is product-level attribute that will help you distinguish between the original order and its splits. In bill splitting scenarios and when managing inventory and stock calculations :
- Only rows with
stockImpactIndicator: true
should be considered for quantity adjustments. - Rows with
stockImpactIndicator: false
represent a portion of a product already accounted for and should not influence stock counts.
Example: Splitting a Pizza Order
Imagine two customers sharing a large pizza, costing 20 Euros, and deciding to pay 60% and 40% of the price separately.
- Initial Order: The waiter inputs one large pizza into the system.
- Splitting the Bill: At payment, the bill is split in the POS:
- First Split (Child): A new product row for the 60% share (12 Euros) is created, with
stockImpactIndicator: false
. - Remaining Part (Parent): The original order is adjusted to the 40% share (8 Euros), keeping
stockImpactIndicator: true
.
- First Split (Child): A new product row for the 60% share (12 Euros) is created, with
For inventory adjustments, API consumers should only consider the row where stockImpactIndicator: true
(the 8 Euro portion).
The 12 Euro split (child product) should be used for billing purposes but excluded from inventory adjustments.