Close the day (or cashier's shift) in POS. The day must be previously opened with POSOpenDay.
To close the day, cashier needs to count the amount of cash at the register, and indicate how much of it will be stored at the register (
closedSum) and how much taken away and deposited (
Both the opening and closing (and the amount of cash counted at opening time and closing time) will be recorded on the Z Report.
A log of POS openings and closings can be retrieved with getDayClosings.
To get a report of total payments by type, before closing the day (for reconciliation), see getPointOfSaleDayTotals.
|Parameter name||Description||Possible value||Required|
|pointOfSaleID||Point of sale ID||Integer||yes|
|employeeID||Employee closing the day. If omitted, Erply assumes day was closed by the user who sent the API call.||Integer|
|openedUnixTime||POS day opening timestamp||Unix timestamp|
|dayID||POS day ID.
NB! You must provide EITHER
|closedUnixTime||Closing timestamp||Unix timestamp||yes|
|closedSum||Total amount of money left in register||Decimal (2 places)||yes|
|bankedSum||Total amount of money removed from register and deposited||Decimal (2 places)||yes|
|reasonID||ID of cash variance reason. See
|counted-*||Extra input parameters for counting and reconciling other payment types than cash. Replace * with a specific payment type in all capital: "counted-CHECK", "counted-GIFTCARD", etc. Card payments must be further broken apart by card type, eg "counted-CARD-VISA", "counted-CARD-DISCOVER" etc.||Decimal|
|varianceReasonID-*||Variance reason IDs for respective payment types. See
Specify the currency for which you want to close the day in the register.
Note: by default, this field should not be used. In a default configuration, Erply allows to count the cash in the register only in the default currency. The cashier should just set aside any cash received in foreign currencies, and remove it from the register at the end of the day. From back office, it is possible to manually print a Z Report that lists transactions made in a different currency, but the counted amount cannot be recorded in POS, neither when opening nor when closing the day.
Therefore, in this setup, it is not possible to use the "currencyCode" field. API will return error code 1028 if you attempt to set it.
However, customer support can enable an extra module, "POS multicurrency". With this extra module, it becomes possible to count other currencies as well and record the counts.
In that configuration, a separate "POSOpenDay" call must be sent for each currency. If the shop accepts EUR, USD and JPY, three "POSOpenDay" calls should be made in the morning and three corresponding "POSCloseDay" calls in the evening, to store the end-of-day counts.
At the end of the day, it is possible to print three Z Reports, one for each currency.
Accepted value: for example "EUR" or "USD". The currency must be defined on your Erply account, in the "Currencies" module.
|*****||Additional attributes associated with this item.
Attributes must be supplied as a flat list, each attribute defined by the following set of three parameters. Replace # with set number (1, 2, 3, ...). When updating an existing entry, API will only update the attributes specified in input data and leave all other existing attributes unchanged. To delete an attribute, set its value to 'null' or 'undefined'.
|attributeName#||Attribute name. Name can only contain the following symbols: A-Z, a-z, 0-9, dash and underscore.||String|
|attributeType#||Attribute type, possible types are 'text', 'int' and 'double'. By default 'text'.||String|
|attributeValue#||Value of the attribute. Set value to 'null' or 'undefined' to delete an attribute.
'text' attribute can be any string, maximum 255 characters.
'int' must be a signed 32-bit integer.
'double' must be a decimal number.
|dayID||Integer||POS day ID.|
|openedUnixTime||Unix timestamp||The time when POS was last opened.|
|closedUnixTime||Unix timestamp||The time when POS was closed.|
|warningDayNotOpen||Boolean||If corresponding day-open event is not found, InventoryAPI automatically creates it (assuming that the amount in register was 0) and sets this flag to true. This is just for information.|
|warningDayAlreadyClosed||Boolean||If the day has already been closed (ie., InventoryAPI finds a record with the same pointOfSaleID and opening time and notices it has already been closed), then day closing sums are updated and InventoryAPI raises this flag. This is just for information.|