POSCloseDay

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 (bankedSum).

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.

Input parameters

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 openedUnixTime or dayID to indicate which day exactly needs to be closed. 
Integer    
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 getReasonCodes for various reason codes.  Integer    
counted-*  Extra input parameters for counting and reconciling other payment types than cash. Replace * with a specific payment type: "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 getReasonCodes to retrieve reason codes.  Integer    
notes  Notes.  String    
currencyCode 

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.

 
String (3)    
findLastOpenDay  Deprecated.  Integer    
*****  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. 
String    

Response

Field name Type Description
dayID  Integer  POS day ID.  
pointOfSaleID  Integer    
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.