Restaurant365 General Ledger API

Create AP invoices by GL account and journal entries

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

restaurant365-general-ledger-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Restaurant365 OData Connector AP Invoices General Ledger 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: General Ledger
  description: Create AP invoices by GL account and journal entries
paths:
  /APIv1/APInvoicesGL:
    post:
      operationId: createApInvoicesGl
      summary: Create AP Invoices By GL Account
      description: Create one or more accounts payable invoices or AP credit memos using GL account level detail rather than item detail. Use this when invoices should be coded directly to general ledger accounts.
      tags:
      - General Ledger
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/APInvoiceGL'
      responses:
        '200':
          description: Processing result with successes and failures
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessingResult'
        '401':
          description: Missing or invalid bearer token
  /APIv1/JournalEntries:
    post:
      operationId: createJournalEntries
      summary: Create Journal Entries
      description: Create one or more general ledger journal entries. Debits and credits must balance across the lines of each journal entry. Payroll journal entries require the payroll-specific fields.
      tags:
      - General Ledger
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/JournalEntry'
      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
    APInvoiceGL:
      type: object
      required:
      - Type
      - Vendor
      - Date
      - GL_Date
      - Location
      - Number
      - Amount
      - Detail_Account
      - Detail_Amount
      - Detail_Location
      properties:
        BatchId:
          type: string
          description: Optional batch identifier grouping records
        userId:
          type: string
          description: Optional user identifier for the submitting user
        Type:
          type: string
          description: Document type
          enum:
          - AP Invoice
          - AP Credit Memo
        Comment:
          type: string
          description: Header-level comment
        Vendor:
          type: string
          description: Vendor name as configured in R365
        Date:
          type: string
          description: Document date in MM/DD/YYYY format
        GL_Date:
          type: string
          description: General ledger posting date in MM/DD/YYYY format
        Due_Date:
          type: string
          description: Due date; defaults to Date if blank
        Location:
          type: string
          description: Location name or number
        Number:
          type: string
          description: Document number
        Amount:
          type: number
          description: Total document amount
        Payment_Terms:
          type: string
          description: Payment terms
        Detail_Account:
          type: string
          description: GL account name or number for the detail line
        Detail_Amount:
          type: number
          description: Amount for the detail line
        Detail_Comment:
          type: string
          description: Comment for the detail line
        Detail_Location:
          type: string
          description: Location for the detail line
        Image_URL:
          type: string
          format: uri
          description: URL of the document image
        IsPaid:
          type: boolean
          description: Whether the document is already paid
        Paid_Account:
          type: string
          description: GL account number used when the document is paid
    JournalEntry:
      type: object
      required:
      - Date
      - JELocation
      - Account
      - Debit
      - Credit
      - DetailLocation
      properties:
        BatchId:
          type: string
          description: Optional batch identifier grouping records
        userId:
          type: string
          description: Optional user identifier for the submitting user
        JENumber:
          type: string
          description: Journal entry number; auto-generated if omitted
        Date:
          type: string
          description: Journal entry date
        JEComment:
          type: string
          description: Journal entry comment
        JELocation:
          type: string
          description: Journal entry header location
        Account:
          type: string
          description: GL account for the line
        Debit:
          type: number
          description: Debit amount; debits must balance credits
        Credit:
          type: number
          description: Credit amount; credits must balance debits
        DetailLocation:
          type: string
          description: Location for the detail line
        PayrollJournalEntry:
          type: boolean
          description: Whether this is a payroll journal entry
        PayrollStartDate:
          type: string
          description: Payroll period start date; required for payroll entries
        PayrollEndDate:
          type: string
          description: Payroll period end date; required for payroll entries
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Domain\Username with R365 password