POS - Point Of Sale

With this API you can integrate third party POS solutions with Profit365

Content:

Resource information

Url https://api.profit365.eu/1.6/apps/POS
Authentication required
Access level company
Response JSON / XML
Class

Get product items

Url https://api.profit365.eu/1.6/apps/POS/items?lastSync={lastSync}&tag={tag}
Method GET
Params
{lastSync} optional Query only items that has been added or updated since this date (and time also)
{tag} optional Query only items that has been tagged with this tag(s)
Example

Get all items since last sync on June 1st 2017, 8:00 AM with Tag 'shop-A1'

https://api.profit365.eu/1.6/apps/POS/items?lastSync=2017-06-01T08-00&tag=shop-A1

Create new sale

Url https://api.profit365.eu/1.6/apps/POS/sales
Method POST
Content A new sale transaction
Example POST https://api.profit365.eu/1.6/apps/POS/sales

Authorization: Basic *** hidden credentials ***
CompanyID: CCA2...
Content-Type: application/json

{ "id" : "8ad72f7d-fde4-4b42-b870-0eb299e016a5",
"cashierId": "9f36a1fc-ad04-457e-84cd-79ea33563e8f",
"printedAt": "2015-06-20T14:00:00",

"items": [{ "itemId": "bff3f39d-6ae5-43af-a80b-65129819f12c",
"unitId": "8f0e4d39-77aa-4e2b-bb5b-ead3ba09416d",
"warehouseId": "3deaa7bb-2f50-440c-9828-9f4105a42c70",

"code": "ENER91008",
"name": "Tyčinka POWER SPORT čokoláda 2x30g",

"qty": 10,
"pricePerUnitBrutto": 15,
"priceBrutto": 150,
"discount": 5,
"priceTotalBrutto" : 145,
"vatRate" : 20
},{ "itemId": "dcfcd2e6-6d28-4874-81bc-c8eed85978d2",
"unitId": "9c8f2d21-2fa1-4f76-9641-3f999f187918",
"warehouseId": "81f468c9-c9a3-409f-974c-974f04997133",

"code": "ENER91007",
"name": "Tyčinka POWER SPORT kokos 2x30g",

"qty": 5,
"pricePerUnitBrutto": 15,
"priceBrutto": 75,
"discount": 0,
"priceTotalBrutto" : 75,
"vatRate" : 20
},{ "itemId": "20346fe6-c104-499e-be45-3b9b83780f21",
"unitId": "eae88ba5-c935-4738-b851-992a2cff06f5",
"warehouseId": "64d7d62d-0501-4ebe-b0ed-d8c4bd449ed4",

"code": "KNI00055V00166",
"name": "Kniha VELO",

"qty": 1,
"pricePerUnitBrutto": 12.51,
"priceBrutto": 12.51,
"discount": 0,
"priceTotalBrutto" : 12.51,
"vatRate" : 10
}],

"payments": [{ "type": "cash",
"amount": 232.51
}]
}

Sale transaction

id

required

The unique ID of the transaction. ID must be generated by POS application, from which has been the sale transaction send. ID is used to identify transaction in Profit365 to avoid duplicates. ID may be generated randomly, but should be stored in POS internaly alongside the sale.

Type: GUID

request, response

cashierId

required

A Code of a cashier from which was the sale made.

Type: string

request, response

printedAt

required

Date when sale reciept was originaly printed at (business date not system date)

Type: DateTime

request

receiptNumber

required

Number of the physical printed receipt which is also stored in fiscal memory of printer.

Type: GUID

request, response

items

required

Array of sold items. See Sale transaction item description

Type: Array of objects

request

payments

required

Array of payments. See Sale transaction payment description

Type: Array of objects

request

Sale transaction item

itemId

required

An ID of sold item.

Type: string

request, response

unitId

required

An unit ID of sold item.

Type: GUID

request, response

warehouseId

optional

If supplied, issue card from this warehouse will be generated on the background.

Type: GUID

request, response

code

optional

A code of sold item

Type: string

request, response

name

required

A name of sold item

Type: string

request, response

vatRate

optional

a VAT rate of sold item. If not VAT payer, ignore this field. Sample: 20%, 10%, 0% or NULL

Type: Decimal

request, response

quantity

required

Quantity of sold item.

Type: Decimal

request, response

pricePerUnit

conditional required

Price per unit of sold item. Either pricePerUnit or pricePerUnitBrutto must be supplied.

Type: Decimal

request, response

pricePerUnitBrutto

conditional required

Brutto price (incl. VAT and all taxes) of sold item. Either pricePerUnit or pricePerUnitBrutto must be supplied.

Type: Decimal

request, response

discountPerUnit

optional

Discount on pricePerUnit, optional, default = 0.

Type: Decimal

request, response

price

conditional required

Should be calculated as (Price per unit - Discount per unit) * Quantity. Either price or priceBrutto must be supplied.

Type: Decimal

request, response

priceBrutto

conditional required

Should be calculated as (Brutto price per unit - Discount per unit) * Quantity.

Type: Decimal

request, response

discount

optional

Discount, optional, default = 0.

Type: Decimal

request, response

priceTotal

conditional required

Price - Discount. Either priceTotal or priceTotalBrutto must be supplied.

Type: Decimal

request, response

priceTotalBrutto

conditional required

PriceBrutto - Discount. Either priceTotal or priceTotalBrutto must be supplied.

Type: Decimal

request, response

Sale transaction payment

type

required

Enum. Options: Cash, Card, MealVoucher

Type: Enum

request

amount

required

Paid amount

Type: Decimal

request, response