openapi: 3.1.0 info: title: Restaurant365 OData Connector AP Invoices API description: The Restaurant365 OData connector exposes R365 data to OData-compatible reporting and business-intelligence tools through read-only views for companies, locations, GL accounts, items, employees, labor, transactions, and sales. Authentication uses Domain\Username (the company subdomain and R365 username) with the R365 password. Most views support the standard OData query options $filter, $orderby, $select, $skip, and $top. Sales views (SalesEmployee, SalesDetail, SalesPayment) do not support $select or $count and are limited to a 31-day date range per request. version: v2 contact: name: Kin Lane email: kin@apievangelist.com license: name: Proprietary servers: - url: https://odata.restaurant365.net/api/v2/views description: Restaurant365 OData v2 views endpoint tags: - name: AP Invoices description: Create accounts payable invoices in the customer database paths: /APIv1/APInvoices: post: operationId: createApInvoices summary: Create AP Invoices description: Create one or more accounts payable invoices in the customer database using vendor and product (item) level detail. Vendor name and retailer store number must match values configured in the customer's R365 database. tags: - AP Invoices security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/APInvoice' responses: '200': description: Processing result with successes and failures content: application/json: schema: $ref: '#/components/schemas/ProcessingResult' '401': description: Missing or invalid bearer token components: schemas: ProcessingResult: type: object description: Result envelope returned by record-creation operations properties: errors: type: array description: Request-level errors items: type: object properties: reason: type: string solution: type: string success: type: array description: Count of records successfully processed items: type: object properties: Count: type: integer failures: type: array description: Records that failed processing items: type: object properties: record: type: string reason: type: string solution: type: string APInvoice: type: object required: - Vendor_Name - Retailer_Store_Number - Invoice_Date properties: BatchId: type: string description: Optional batch identifier grouping records userId: type: string description: Optional user identifier for the submitting user Vendor_Name: type: string description: Vendor name as configured in the customer's R365 database Retailer_Store_Number: type: string description: Retailer store number for the location Invoice_Date: type: string description: Invoice date in MM/DD/YYYY format Invoice_Due_Date: type: string description: Invoice due date in MM/DD/YYYY format Invoice_Number: type: string description: Vendor invoice number Invoice_Amount: type: number description: Total invoice amount Image_URL: type: string format: uri description: URL of the invoice image Product_Number: type: string description: Vendor item (product) number Quantity: type: number description: Quantity of the item Invoice_Line_Item_Cost: type: number description: Per-unit cost of the line item Extended_Price: type: number description: Extended price for the line item Product_Description: type: string description: Description of the item Unit_Of_Measure: type: string description: Unit of measure; must match an R365 UOFM value Split_Case: type: boolean description: Whether the case is split securitySchemes: basicAuth: type: http scheme: basic description: Domain\Username with R365 password