> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # /public/v1/pos/sales/import > Submits sales data for a location and business date for end-of-day or intraday processing ## OpenAPI ````json POST /public/v1/pos/sales/import { "openapi": "3.0.1", "info": { "title": "R365.PublicApi", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/v1/pos/sales/import": { "post": { "tags": [ "sync" ], "description": "Submits sales data for a location and business date for end-of-day or intraday processing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Sales.Models.PostSalesImportRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Models.PostImportResponse" } } } }, "422": { "description": "Unprocessable Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Models.R365Error" } } } } } } } }, "components": { "schemas": { "R365.Pos.Public.Contracts.Sales.Models.PostSalesImportRequest": { "type": "object", "properties": { "locationId": { "type": "string", "description": "Unique identifier (GUID) of the R365 location the import applies to.", "format": "uuid" }, "businessDate": { "type": "string", "description": "Business date the submitted data represents.", "format": "date" }, "importMode": { "type": "string", "description": "Processing mode for the import. Values are \"EOD\", \"Intraday\".", "nullable": true }, "sales": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Sales.Models.SaleRecord" }, "description": "Collection of sales transactions to import.", "nullable": true }, "idempotencyKey": { "type": "string", "description": "Optional client-supplied key to prevent duplicate submissions. Requests with the same key within 24 hours return a 409.", "nullable": true }, "correlationId": { "type": "string", "description": "Optional identifier for correlating this request with the caller's system.", "nullable": true }, "clientTimestampUtc": { "type": "string", "description": "Optional UTC timestamp from the client, used to resolve which request is latest when multiple exist for the same import type.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Submits sales data for a location and business date for end-of-day or intraday processing" }, "R365.Pos.Public.Models.PostImportResponse": { "type": "object", "properties": { "importId": { "type": "integer", "description": "Unique numeric identifier of the import session.", "format": "int64" }, "requestId": { "type": "integer", "description": "Unique numeric identifier of the individual import request within the session.", "format": "int64" }, "isNewSession": { "type": "boolean", "description": "Indicates whether a new import session was created. Returns false when submitting to an existing session." }, "correlationId": { "type": "string", "description": "Correlation identifier echoed from the request, if provided.", "nullable": true } }, "additionalProperties": false, "description": "Response returned after submitting an import request." }, "R365.Pos.Public.Models.R365Error": { "type": "object", "properties": { "errorCode": { "type": "string", "description": "", "nullable": true }, "innerError": { "$ref": "#/components/schemas/R365.Pos.Public.Models.R365Error" } }, "additionalProperties": false }, "R365.Pos.Public.Contracts.Sales.Models.SaleRecord": { "type": "object", "properties": { "salesId": { "type": "string", "description": "Provider-assigned identifier of the sales transaction.", "nullable": true }, "transactionDate": { "type": "string", "description": "Date and time the transaction occurred.", "format": "date-time" }, "checkNumber": { "type": "string", "description": "Check or ticket number associated with the transaction.", "nullable": true }, "guestCount": { "type": "integer", "description": "Number of guests on the transaction.", "format": "int32" }, "salesAmount": { "type": "number", "description": "Net sales amount before tax and tip.", "format": "double" }, "taxAmount": { "type": "number", "description": "Total tax amount applied to the transaction.", "format": "double" }, "tipAmount": { "type": "number", "description": "Tip amount on the transaction.", "format": "double" }, "totalAmount": { "type": "number", "description": "Total transaction amount including sales, tax, and tip.", "format": "double" }, "autoGratuity": { "type": "number", "description": "Automatic gratuity amount applied to the transaction.", "format": "double" }, "isVoid": { "type": "boolean", "description": "Indicates whether the transaction has been voided." }, "server": { "type": "string", "description": "Identifier or name of the server associated with the transaction.", "nullable": true }, "serviceType": { "type": "string", "description": "Service type of the transaction, such as dine-in or takeout.", "nullable": true }, "revenueCenter": { "type": "string", "description": "Revenue center the transaction was recorded under.", "nullable": true }, "comment": { "type": "string", "description": "Optional comment associated with the transaction.", "nullable": true }, "openDate": { "type": "string", "description": "Date and time the check was opened, if available.", "format": "date-time", "nullable": true }, "pickupTime": { "type": "string", "description": "Scheduled pickup time for the order, if applicable.", "format": "date-time", "nullable": true }, "payments": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Sales.Models.SalePaymentRecord" }, "description": "Collection of payment records associated with this transaction.", "nullable": true }, "salesDetails": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Sales.Models.SaleDetailRecord" }, "description": "Collection of line-item details for this transaction.", "nullable": true }, "appliedSalesTaxes": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Sales.Models.AppliedTaxRecord" }, "description": "Collection of applied tax entries for this transaction.", "nullable": true } }, "additionalProperties": false, "description": "A single sales transaction submitted for import." }, "R365.Pos.Public.Contracts.Sales.Models.SalePaymentRecord": { "type": "object", "properties": { "paymentType": { "type": "string", "description": "Type of payment tender used.", "nullable": true }, "server": { "type": "string", "description": "Identifier or name of the server who processed the payment.", "nullable": true }, "comment": { "type": "string", "description": "Optional comment associated with the payment.", "nullable": true }, "company": { "type": "string", "description": "Company or brand associated with the payment, if applicable.", "nullable": true }, "customerText": { "type": "string", "description": "Customer-facing display text for the payment.", "nullable": true }, "tillId": { "type": "string", "description": "Identifier of the till the payment was processed on.", "nullable": true }, "amount": { "type": "number", "description": "Monetary amount of the payment.", "format": "double" } }, "additionalProperties": false, "description": "A single payment record associated with a sales transaction." }, "R365.Pos.Public.Contracts.Sales.Models.SaleDetailRecord": { "type": "object", "properties": { "menuItemName": { "type": "string", "description": "Name of the menu item.", "nullable": true }, "categoryName": { "type": "string", "description": "Category the menu item belongs to.", "nullable": true }, "company": { "type": "string", "description": "Company or brand associated with the item, if applicable.", "nullable": true }, "customerText": { "type": "string", "description": "Customer-facing display text for the item.", "nullable": true }, "pluCode": { "type": "string", "description": "Price look-up code for the item.", "nullable": true }, "sku": { "type": "string", "description": "Stock-keeping unit identifier for the item.", "nullable": true }, "menuItemId": { "type": "string", "description": "Provider-assigned identifier of the menu item.", "nullable": true }, "barcode": { "type": "string", "description": "Barcode value associated with the item, if applicable.", "nullable": true }, "modifierGroupId": { "type": "string", "description": "Identifier of the modifier group this item belongs to, if applicable.", "nullable": true }, "modifierGroupName": { "type": "string", "description": "Name of the modifier group this item belongs to, if applicable.", "nullable": true }, "uniqueMenuItemId": { "type": "string", "description": "Unique identifier for the menu item within this transaction.", "nullable": true }, "amount": { "type": "number", "description": "Net amount for this line item after discounts.", "format": "double" }, "quantity": { "type": "number", "description": "Quantity of the item sold.", "format": "double" }, "taxAmount": { "type": "number", "description": "Tax amount applied to this line item.", "format": "double" }, "grossAmount": { "type": "number", "description": "Gross amount for this line item before discounts.", "format": "double" }, "discountAmount": { "type": "number", "description": "Total discount amount applied to this line item.", "format": "double" }, "isVoid": { "type": "boolean", "description": "Indicates whether this line item has been voided." }, "isModifier": { "type": "boolean", "description": "Indicates whether this item is a modifier of another line item." }, "parentItemId": { "type": "integer", "description": "Identifier of the parent line item, when this item is a modifier.", "format": "int32" }, "itemId": { "type": "integer", "description": "Sequential identifier of this line item within the transaction.", "format": "int32" } }, "additionalProperties": false, "description": "A single line-item detail within a sales transaction." }, "R365.Pos.Public.Contracts.Sales.Models.AppliedTaxRecord": { "type": "object", "properties": { "taxRateId": { "type": "string", "description": "Provider-assigned identifier of the tax rate.", "nullable": true }, "taxName": { "type": "string", "description": "Name of the tax rate.", "nullable": true }, "taxRate": { "type": "number", "description": "Tax rate as a decimal value.", "format": "double" }, "totalAmount": { "type": "number", "description": "Total tax amount applied.", "format": "double" }, "taxableAmount": { "type": "number", "description": "Portion of the transaction amount subject to this tax.", "format": "double" }, "isInclusive": { "type": "boolean", "description": "Indicates whether the tax is included in the item price rather than added on top." }, "taxTypeId": { "type": "integer", "description": "Numeric identifier for the tax type.", "format": "int32" } }, "additionalProperties": false, "description": "A single applied tax entry associated with a sales transaction." } }, "securitySchemes": { "Bearer": { "type": "http", "description": "Put **_ONLY_** your JWT Bearer token on textbox below!", "scheme": "Bearer", "bearerFormat": "JWT" } } } } ````