{ "openapi": "3.0.1", "info": { "title": "Financial Integration", "description": "\nCommon Financial Package API supporting Quickbooks Online, Xero, and MYOB.\n\n## Authentication\nPass an access token in the HTTP Authorization header of each request. For example:\n\n```Authorization: Bearer [token]```\n\nAccess tokens are obtained from the Authentication API. See the Authentication API token endpoint for more information.\n", "contact": { "name": "ECI Integration Team", "url": "https://www.ecisolutions.com/support/" }, "version": "v1" }, "paths": { "/api/account/authenticate": { "post": { "tags": [ "Account" ], "summary": "Authenticate API User.", "description": "Use the Authentication API OAuth 2.0 client credentials endpoint instead.", "requestBody": { "description": "", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AuthenticateUser" } ] } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AuthenticateUser" } ] } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AuthenticateUser" } ] } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AuthenticateUser" } ] } } } }, "responses": { "200": { "description": "Success" } }, "deprecated": true } }, "/api/Contact/Bill/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Bill.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "bill id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/CreditMemo/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Credit Memo.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "creditMemo id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/Customer/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Customer.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "customer id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/Employee/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete an Employee.", "description": "Supported by MYOB, QBO, and Xero.", "parameters": [ { "name": "id", "in": "path", "description": "employee id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/GetBill/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Bill by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Bill to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/BillModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BillModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BillModelAPIResponse" } } } } } } }, "/api/Contact/GetBills": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Bills.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/BillModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BillModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BillModelListAPIResponse" } } } } } } }, "/api/Contact/GetCreditMemo/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Credit Memo by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the CreditMemo to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreditMemoModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreditMemoModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreditMemoModelAPIResponse" } } } } } } }, "/api/Contact/GetCreditMemos": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Credit Memos.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreditMemoModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreditMemoModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreditMemoModelListAPIResponse" } } } } } } }, "/api/Contact/GetCustomer/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Customer by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Customer to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomerModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomerModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomerModelAPIResponse" } } } } } } }, "/api/Contact/GetCustomers": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Customers.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomerModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomerModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomerModelListAPIResponse" } } } } } } }, "/api/Contact/GetEmployee/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Employee by unique id, if it exists.", "description": "Supported by MYOB, QBO, and Xero.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Employee to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EmployeeModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EmployeeModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EmployeeModelAPIResponse" } } } } } } }, "/api/Contact/GetEmployees": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Employees.", "description": "Supported by MYOB, QBO, and Xero.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EmployeeModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EmployeeModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EmployeeModelListAPIResponse" } } } } } } }, "/api/Contact/GetItem/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Item by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Item to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ItemModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ItemModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ItemModelAPIResponse" } } } } } } }, "/api/Contact/GetItems": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Items.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "types", "in": "query", "description": "Filter list of Items based on Type.\r\nQBO: Valid values include Inventory, NonInventory, Category and Service.\r\nMultiple valid values may be separated by commas.\r\nIf no types are specified, all items will be returned.", "schema": { "type": "string" } }, { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ItemModelListAPIResponse" } } } } } } }, "/api/Contact/GetJournal/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single journal by unique id, if it exists.", "description": "Supported by QBO, Xero, MYOB, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Journal to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/JournalModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/JournalModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/JournalModelAPIResponse" } } } } } } }, "/api/Contact/GetJournals": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Journals.", "description": "Supported by QBO, Xero, MYOB, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/JournalModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/JournalModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/JournalModelListAPIResponse" } } } } } } }, "/api/Contact/GetTimeActivities": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Time Activities.", "description": "Supported by MYOB, QBO, and Xero.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } } } } } } }, "/api/Contact/GetTimeActivity/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Time Activity by unique id, if it exists.", "description": "Supported by MYOB, QBO, and Xero.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the time activity to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TimeActivityResponseModelAPIResponse" } } } } } } }, "/api/Contact/GetVendor/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Vendor by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Vendor to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SupplierModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SupplierModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SupplierModelAPIResponse" } } } } } } }, "/api/Contact/GetVendorCredit/{id}": { "get": { "tags": [ "Contact" ], "summary": "Get a single Vendor Credit by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the VendorCredit to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/VendorCreditModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/VendorCreditModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/VendorCreditModelAPIResponse" } } } } } } }, "/api/Contact/GetVendorCredits": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Vendor Credits.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/VendorCreditModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/VendorCreditModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/VendorCreditModelListAPIResponse" } } } } } } }, "/api/Contact/GetVendors": { "get": { "tags": [ "Contact" ], "summary": "Get a list of Vendors.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "DisplayName", "in": "query", "description": "Display name of the person or organization.\r\nQBO: DisplayName\r\nXero: Name\r\nMYOB: CompanyName OR concatenated FirstName and LastName\r\nSage: Displayed_As", "schema": { "type": "string" } }, { "name": "Active", "in": "query", "description": "IsActive for the contact\r\nQBO: Active\r\nXero: ContactStatus == Contact.ContactStatusEnum.ACTIVE\r\nMYOB: IsActive\r\nSage: is_active", "schema": { "type": "boolean" } }, { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SupplierModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SupplierModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SupplierModelListAPIResponse" } } } } } } }, "/api/Contact/Item/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete an Item.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "item id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/Journal/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Journal.", "description": "Supported by QBO, MYOB, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "journal id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/SaveBill": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Bill for a Vendor.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Bill details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/BillModel" } ], "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/BillModel" } ], "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/BillModel" } ], "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/BillModel" } ], "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/BillResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BillResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BillResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveCreditMemo": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Credit Memo for a Customer.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Credit Memo details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoModel" } ], "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoModel" } ], "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoModel" } ], "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoModel" } ], "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreditMemoResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreditMemoResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreditMemoResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveCustomer": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Customer.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Customer details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerModel" } ], "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerModel" } ], "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerModel" } ], "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerModel" } ], "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomerResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomerResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveEmployee": { "post": { "tags": [ "Contact" ], "summary": "Create or update an Employee.", "description": "Supported by MYOB, QBO, and Xero.", "requestBody": { "description": "A model with Employee details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EmployeeModel" } ], "description": "Employee Model" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EmployeeModel" } ], "description": "Employee Model" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EmployeeModel" } ], "description": "Employee Model" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EmployeeModel" } ], "description": "Employee Model" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveInvoice": { "post": { "tags": [ "Contact" ], "summary": "Create or update an Invoice for a Customer.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Invoice details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/InvoiceModel" } ], "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/InvoiceModel" } ], "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/InvoiceModel" } ], "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/InvoiceModel" } ], "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveJournal": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Journal.", "description": "Supported by QBO, Xero, MYOB, and Sage. But Updation is not supported by Xero and Sage.", "requestBody": { "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/JournalModel" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/JournalModel" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/JournalModel" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/JournalModel" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/JournalResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/JournalResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/JournalResponseModelAPIResponse" } } } } } } }, "/api/Contact/SavePaymentTerm": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Term.", "description": "Supported by QBO.", "requestBody": { "description": "A model with Term details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentTermModel" } ], "description": "Represents a Payment Term to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentTermModel" } ], "description": "Represents a Payment Term to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentTermModel" } ], "description": "Represents a Payment Term to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentTermModel" } ], "description": "Represents a Payment Term to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PaymentTermResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PaymentTermResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PaymentTermResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveShippingAddress": { "post": { "tags": [ "Contact" ], "summary": "Update a Customer's Shipping Address.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Address details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerShippingAddressModel" } ], "description": "THIS CLASS IS USED TO HAVE SHIPPING ADDRESS DETAILS" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerShippingAddressModel" } ], "description": "THIS CLASS IS USED TO HAVE SHIPPING ADDRESS DETAILS" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerShippingAddressModel" } ], "description": "THIS CLASS IS USED TO HAVE SHIPPING ADDRESS DETAILS" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CustomerShippingAddressModel" } ], "description": "THIS CLASS IS USED TO HAVE SHIPPING ADDRESS DETAILS" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AddressModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AddressModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AddressModelAPIResponse" } } } } } } }, "/api/Contact/SaveTimeActivity": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Time Activity for an Employee.", "description": "Supported by MYOB, QBO, and Xero.", "requestBody": { "description": "A model with Time Activity details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeActivityModel" } ], "description": "Represents an employee Time Activity to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/timeactivity\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeActivityModel" } ], "description": "Represents an employee Time Activity to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/timeactivity\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeActivityModel" } ], "description": "Represents an employee Time Activity to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/timeactivity\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeActivityModel" } ], "description": "Represents an employee Time Activity to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/timeactivity\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveTimeActivityBatch": { "post": { "tags": [ "Contact" ], "summary": "Create or update a batch of Time Activities for one or more Employees.", "description": "Supported by MYOB, QBO, and Xero.", "requestBody": { "description": "A model with Time Activity details.", "content": { "application/json-patch+json": { "schema": { "maxItems": 20, "type": "array", "items": { "$ref": "#/components/schemas/TimeActivityBatchModel" } } }, "application/json": { "schema": { "maxItems": 20, "type": "array", "items": { "$ref": "#/components/schemas/TimeActivityBatchModel" } } }, "text/json": { "schema": { "maxItems": 20, "type": "array", "items": { "$ref": "#/components/schemas/TimeActivityBatchModel" } } }, "application/*+json": { "schema": { "maxItems": 20, "type": "array", "items": { "$ref": "#/components/schemas/TimeActivityBatchModel" } } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveVendor": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Vendor.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Vendor details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SupplierModel" } ], "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SupplierModel" } ], "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SupplierModel" } ], "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SupplierModel" } ], "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Contact/SaveVendorCredit": { "post": { "tags": [ "Contact" ], "summary": "Create or update a Credit for a Vendor.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Vendor Credit details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/VendorCreditModel" } ], "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/VendorCreditModel" } ], "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/VendorCreditModel" } ], "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/VendorCreditModel" } ], "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Contact/TimeActivity/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Time Activity.", "description": "Supported by QBO and Xero. MYOB does not support time activity deletion.", "parameters": [ { "name": "id", "in": "path", "description": "Time Activity id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/Vendor/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Vendor.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "vendor id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Contact/VendorCredit/{id}": { "delete": { "tags": [ "Contact" ], "summary": "Delete a Vendor Credit.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "vendorCredit id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Setting/Account/{id}": { "delete": { "tags": [ "Setting" ], "summary": "Delete an Account.", "description": "Supported by MYOB, QBO, and Xero.", "parameters": [ { "name": "id", "in": "path", "description": "account id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Setting/GetAccount/{id}": { "get": { "tags": [ "Setting" ], "summary": "Get a single Account by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Account to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelAPIResponse" } } } } } } }, "/api/Setting/GetAccounts": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Accounts.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChartAccountResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetCompanyPreferences": { "get": { "tags": [ "Setting" ], "summary": "Get a value of companyPreference.", "description": "Supported by QBO.", "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CompanyPreferencesResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CompanyPreferencesResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CompanyPreferencesResponseModelAPIResponse" } } } } } } }, "/api/Setting/GetCurrencies": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Currencies.", "description": "Supported by QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CurrencyResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetCustomerTypes": { "get": { "tags": [ "Setting" ], "summary": "Get a list of CustomerTypes.", "description": "Supported by QBO.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomerTypeResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomerTypeResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomerTypeResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetEmployeePayRates": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Employee Pay Rates.", "description": "Supported by MYOB and Xero.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EmployeePayRateResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EmployeePayRateResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EmployeePayRateResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetExchangeRates": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Exchange Rates.", "description": "Supported by QBO. Not supported by MYOB, Xero, or Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.\r\nSource Currency Code, if provided, filters the exchange rates by the specified source currency.", "parameters": [ { "name": "SourceCurrencyCode", "in": "query", "description": "Optional. Filter exchange rates by source currency code.", "schema": { "type": "string" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ExchangeRateResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ExchangeRateResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ExchangeRateResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetInvoice/{id}": { "get": { "tags": [ "Setting" ], "summary": "Get a single Invoice for Customers by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Invoice to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InvoiceModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InvoiceModelAPIResponse" } } } } } } }, "/api/Setting/GetInvoices": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Invoices for Customers.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InvoiceResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetTaxCode/{id}": { "get": { "tags": [ "Setting" ], "summary": "Get a single Tax Code by unique id, if it exists.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Tax Code to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelAPIResponse" } } } } } } }, "/api/Setting/GetTaxCodes": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Tax Codes.", "description": "Supported by MYOB, QBO, Xero, and Sage.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TaxCodeResponseModelListAPIResponse" } } } } } } }, "/api/Setting/GetTerm/{id}": { "get": { "tags": [ "Setting" ], "summary": "Get a single Term by unique id, if it exists.", "description": "Supported by QBO.", "parameters": [ { "name": "id", "in": "path", "description": "The id of the Term to find.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TermResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TermResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TermResponseModelAPIResponse" } } } } } } }, "/api/Setting/GetTerms": { "get": { "tags": [ "Setting" ], "summary": "Get a list of Terms.", "description": "Supported by QBO.\r\nTake value, if provided, must be between 1 and 100. Skip value, if provided, must be greater than or equal to 0.", "parameters": [ { "name": "ModifiedAfter", "in": "query", "description": "If provided, only return records modified after this date and time. Only supported for QBO at this time.", "schema": { "type": "string", "format": "date-time" } }, { "name": "Take", "in": "query", "description": "The maximum number of records to retrieve. If not provided, retrieve the number of records allowable by the backend financial system, which is not guaranteed to be the entire set of records.", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "Skip", "in": "query", "description": "The number of records to skip past when retrieving the list. Recommended to be a multiple of the Take value, if provided.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TermResponseModelListAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TermResponseModelListAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TermResponseModelListAPIResponse" } } } } } } }, "/api/Setting/Invoice/{id}": { "delete": { "tags": [ "Setting" ], "summary": "Delete an Invoice for a Customer.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "invoice id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Setting/SaveAccount": { "post": { "tags": [ "Setting" ], "summary": "Create or update an Account.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Account details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AccountModel" } ], "description": "Represents a GL Account to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/\r\nSage: https://developer.sage.com/accounting/reference/accounting-setup/#tag/Ledger-Accounts" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AccountModel" } ], "description": "Represents a GL Account to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/\r\nSage: https://developer.sage.com/accounting/reference/accounting-setup/#tag/Ledger-Accounts" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AccountModel" } ], "description": "Represents a GL Account to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/\r\nSage: https://developer.sage.com/accounting/reference/accounting-setup/#tag/Ledger-Accounts" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AccountModel" } ], "description": "Represents a GL Account to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/\r\nSage: https://developer.sage.com/accounting/reference/accounting-setup/#tag/Ledger-Accounts" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/AccountResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AccountResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AccountResponseModelAPIResponse" } } } } } } }, "/api/Setting/SaveCurrency": { "post": { "tags": [ "Setting" ], "summary": "Create a Currency.", "description": "Supported by QBO and Xero.", "requestBody": { "description": "A model with currency details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CurrencyModel" } ], "description": "Represents a currency being saved to the financial system." } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CurrencyModel" } ], "description": "Represents a currency being saved to the financial system." } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CurrencyModel" } ], "description": "Represents a currency being saved to the financial system." } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CurrencyModel" } ], "description": "Represents a currency being saved to the financial system." } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CurrencyModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CurrencyModelAPIResponse" } } } } } } }, "/api/Setting/SaveItem": { "post": { "tags": [ "Setting" ], "summary": "Create or update an Item.", "description": "Supported by MYOB, QBO, Xero, and Sage.", "requestBody": { "description": "A model with Item details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ItemModel" } ], "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ItemModel" } ], "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ItemModel" } ], "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ItemModel" } ], "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ContentResponseModelAPIResponse" } } } } } } }, "/api/Setting/SavePaymentMethod": { "post": { "tags": [ "Setting" ], "summary": "Create or update a Payment Method.", "description": "Supported by QBO.", "requestBody": { "description": "A model with Payment Method details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentMethodModel" } ], "description": "Represents a Payment Method to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/paymentmethod" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentMethodModel" } ], "description": "Represents a Payment Method to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/paymentmethod" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentMethodModel" } ], "description": "Represents a Payment Method to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/paymentmethod" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaymentMethodModel" } ], "description": "Represents a Payment Method to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/paymentmethod" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PaymentMethodResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PaymentMethodResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PaymentMethodResponseModelAPIResponse" } } } } } } }, "/api/Setting/TaxAgency": { "post": { "tags": [ "Setting" ], "summary": "Create a Tax Agency.", "description": "Supported by QBO.", "requestBody": { "description": "A model with Tax Agency details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxAgencyModel" } ], "description": "Represents a Tax Agency to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxAgencyModel" } ], "description": "Represents a Tax Agency to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxAgencyModel" } ], "description": "Represents a Tax Agency to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxAgencyModel" } ], "description": "Represents a Tax Agency to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TaxAgencyResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TaxAgencyResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TaxAgencyResponseModelAPIResponse" } } } } } } }, "/api/Setting/TaxCode/{id}": { "delete": { "tags": [ "Setting" ], "summary": "Delete a Tax Code.", "description": "Supported by MYOB, Xero, and Sage.", "parameters": [ { "name": "id", "in": "path", "description": "taxCodes id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } }, "/api/Setting/TaxService": { "post": { "tags": [ "Setting" ], "summary": "Create or update a Tax Code and associated tax rates.", "description": "Create supported by QBO. Create and update supported by MYOB, Xero, and Sage.", "requestBody": { "description": "A model with Tax Service details.", "content": { "application/json-patch+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxServiceModel" } ], "description": "Represents a Tax Code and Rate(s) to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" } }, "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxServiceModel" } ], "description": "Represents a Tax Code and Rate(s) to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxServiceModel" } ], "description": "Represents a Tax Code and Rate(s) to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TaxServiceModel" } ], "description": "Represents a Tax Code and Rate(s) to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TaxResponseModelAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/TaxResponseModelAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/TaxResponseModelAPIResponse" } } } } } } }, "/api/Setting/Term/{id}": { "delete": { "tags": [ "Setting" ], "summary": "Delete a Term.", "description": "Supported by QBO.", "parameters": [ { "name": "id", "in": "path", "description": "term id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/StringAPIResponse" } } } } } } } }, "components": { "schemas": { "AccountBankingDetailsModel": { "type": "object", "properties": { "bsbNumber": { "type": "string", "description": "(AU only) BSB as provided by the financial institution.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.BSBNumber", "nullable": true }, "bankAccountNumber": { "type": "string", "description": "Account number as provided by the financial institution.\r\nQBO: N/A\r\nXero: BankAccountNumber\r\nMYOB: BankingDetails.BankAccountNumber", "nullable": true }, "bankAccountName": { "type": "string", "description": "Bank account name.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.BankAccountName", "nullable": true }, "companyTradingName": { "type": "string", "description": "(AU only) Company trading name if applicable for bank account\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.CompanyTradingName", "nullable": true }, "bankCode": { "type": "string", "description": "(AU only) Bank code as provided by the financial institution.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.BankCode", "nullable": true }, "createBankFiles": { "type": "boolean", "description": "Whether the bank account will be used to create bank files (ABA).\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.CreateBankFiles" }, "directEntryUserId": { "type": "string", "description": "(AU only) Direct entry user id as provided by the financial institution.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.DirectEntryUserId", "nullable": true }, "includeSelfBalancingTransaction": { "type": "boolean", "description": "(AU only) Whether the bank account requires a self balancing transaction.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.IncludeSelfBalancingTransaction" }, "statementParticulars": { "type": "string", "description": "Statement particulars assigned to the bank account.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.StatementParticulars", "nullable": true }, "statementCode": { "type": "string", "description": "(NZ only) Code attached to electronic payment.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.StatementCode", "nullable": true }, "statementReference": { "type": "string", "description": "(NZ only) Reference attached to electronic payment.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: BankingDetails.StatementReference", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Account's banking details.\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/" }, "AccountBasedExpenseLineDetailModel": { "type": "object", "properties": { "accountRef": { "type": "string", "description": "Reference to the Expense account associated with this item.\r\nSAGE: Invoice_Lines.Product.Purchase_Ledger_Account_Id", "nullable": true }, "taxAmount": { "type": "number", "description": "Sales tax paid as part of the expense.\r\nSAGE: Invoice_Lines.Tax_Amount", "format": "double", "nullable": true }, "taxInclusiveAmt": { "type": "number", "description": "The total amount of the line item including tax.\r\n SAGE: Invoice_Lines.Net_Amount", "format": "double", "nullable": true }, "classRef": { "type": "string", "description": "Reference to the Class associated with the expense.", "nullable": true }, "taxCodeRef": { "type": "string", "description": "The TaxCode associated with the sales tax for the expense.", "nullable": true }, "billableStatus": { "type": "string", "description": "The billable status of the expense. Valid values: Billable, NotBillable, HasBeenBilled", "nullable": true }, "customerRef": { "type": "string", "description": "Reference to the Customer associated with the expense.", "nullable": true } }, "additionalProperties": false, "description": "Account Based Expense Line Detail Model" }, "AccountModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the account. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Account record exists, otherwise create a new record.\r\nQBO: Update a matching record by Name.\r\nXero: Update a matching record by Name.\r\nMYOB: Update a matching record by Name.\r\nSage: Update a matching record by Name." }, "name": { "type": "string", "description": "Account name. Max chars: 60.\r\nQBO: Name\r\nXero: Name\r\nMYOB: Name\r\nSage: Name", "nullable": true }, "accountNumber": { "type": "string", "description": "User-defined account number to identify the account.\r\nQBO: AcctNum. Max chars: 7 (US, UK, IN) or 20 (AU, CA)\r\nXero: Code. Max chars: 10\r\nMYOB: DisplayID (6-char if 'UseAlphaAccountIdentifier' is FALSE, 10-char if 'UseAlphaAccountIdentifier' is TRUE. The last 4 digits must be an integer.)\r\nSage: Nominal_Code (Must be integer range between 1 to 99999999.)", "nullable": true }, "classification": { "type": "string", "description": "The classification of an account. Valid values are: Asset, Equity, Expense, Liability, Revenue.\r\nQBO: Classification\r\nXero: Class\r\nMYOB: Classification\r\nSage: Ledger_Account_Classification_Id", "nullable": true }, "accountType": { "type": "string", "description": "The detailed account type based on classification that specifies the use of this account.\r\nQBO: AccountType\r\nXero: Type\r\nMYOB: Type\r\nSage: N/A", "nullable": true }, "currentBalance": { "type": "number", "description": "Specifies the balance amount for the account.\r\nQBO: CurrentBalance (Valid for Balance Sheet accounts)\r\nXero: N/A\r\nMYOB: CurrentBalance\r\nSage: N/A", "format": "double" }, "description": { "type": "string", "description": "User-defined description for the account.\r\nQBO: Description\r\nXero: Description (Ignored for bank account types)\r\nMYOB: Description\r\nSage: N/A", "nullable": true }, "taxCodeRef": { "type": "string", "description": "Unique id for the default tax code assigned to this account.\r\nQBO: TaxCodeRef\r\nXero: TaxType (Ignored for bank account types)\r\nMYOB: TaxCode.UID\r\nSage: Tax_Rate_Id", "nullable": true }, "foreignCurrencyRef": { "type": "string", "description": "Unique id for the account currency.\r\nQBO: CurrencyRef\r\nXero: CurrencyCode\r\nMYOB: ForeignCurrency.UID\r\nSage: N/A", "nullable": true }, "parentAccountRef": { "type": "string", "description": "Unique id of the parent account.\r\nQBO: ParentRef\r\nXero: N/A\r\nMYOB: ParentAccount.UID\r\nSage: N/A", "nullable": true }, "level": { "type": "integer", "description": "The hierarchial level of the account.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: Level (Possible values from highest to lowest are: 1, 2, 3, 4. New accounts must be level 2 to 4.)\r\nSage: N/A", "format": "int32" }, "openingBalance": { "type": "number", "description": "Account balance as of the conversion date set for the company.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: OpeningBalance\r\nSage: N/A", "format": "double" }, "isHeader": { "type": "boolean", "description": "Whether the account is a header account to group other accounts or whether it is a detail account that can be assigned to transactions.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: IsHeader", "nullable": true }, "bankingDetails": { "allOf": [ { "$ref": "#/components/schemas/AccountBankingDetailsModel" } ], "description": "Banking information for bank accounts.\r\nQBO: N/A\r\nXero: See FinancialIntegration.Models.RequestModel.AccountBankingDetailsModel for information.\r\nMYOB: See FinancialIntegration.Models.RequestModel.AccountBankingDetailsModel for information.\r\nSage: N/A", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Account to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account\r\nXero: https://developer.xero.com/documentation/api/accounting/accounts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/account/\r\nSage: https://developer.sage.com/accounting/reference/accounting-setup/#tag/Ledger-Accounts" }, "AccountResponseModel": { "type": "object", "properties": { "accountId": { "type": "string", "description": "Unique id of the account.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true } }, "additionalProperties": false, "description": "A record containing the unique id and syncToken for a saved GL account." }, "AccountResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/AccountResponseModel" } ], "description": "A record containing the unique id and syncToken for a saved GL account.", "nullable": true } }, "additionalProperties": false }, "AddressModel": { "type": "object", "properties": { "line1": { "type": "string", "description": "First line of address. (Max chars: 255)\r\nQBO: Line1\r\nXero: AddressLine1\r\nMYOB: Street\r\nSage: Address_Line_1", "nullable": true }, "line2": { "type": "string", "description": "Second line of address. (Max chars: 255)\r\nQBO: Line2\r\nXero: AddressLine2\r\nMYOB: Street (Will be concatenated with previous lines when saved. Total length must not exceed 255 chars)\r\nSage: Address_Line_2", "nullable": true }, "line3": { "type": "string", "description": "Third line of address. (Max chars: 255)\r\nQBO: Line3\r\nXero: AddressLine3 (For AU employee addresses, will be concatenated with previous line when saved.)\r\nMYOB: Street (Will be concatenated with previous lines when saved. Total length must not exceed 255 chars)", "nullable": true }, "line4": { "type": "string", "description": "Fourth line of address. (Max chars: 255)\r\nQBO: Line4\r\nXero: AddressLine4 (For AU employee addresses, will be concatenated with previous line when saved.)\r\nMYOB: N/A", "nullable": true }, "line5": { "type": "string", "description": "Fifth line of address. (Max chars: 255)\r\nQBO: Line5\r\nXero: N/A\r\nMYOB: N/A", "nullable": true }, "city": { "type": "string", "description": "City. (Max chars: 255)\r\nQBO: City\r\nXero: City\r\nMYOB: City\r\nSage: City", "nullable": true }, "stateProv": { "type": "string", "description": "State or province. (Max chars: 255)\r\nQBO: CountrySubDivisionCode\r\nXero: Region (For AU: ACT, NSW, NT, QLD, SA, TAS, VIC, WA)\r\nMYOB: State\r\nSage: Region", "nullable": true }, "postalCode": { "type": "string", "description": "Postal code. (Max chars: 11)\r\nQBO: PostalCode\r\nXero: PostalCode\r\nMYOB: PostCode\r\nSage: Postal_Code\r\nSage: Country_Id", "nullable": true }, "country": { "type": "string", "description": "Country. (Max chars: 50)\r\nQBO: Country\r\nXero: Country\r\nMYOB: Country", "nullable": true } }, "additionalProperties": false, "description": "Represents an address for a Customer, Vendor, or Employee" }, "AddressModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Represents an address for a Customer, Vendor, or Employee", "nullable": true } }, "additionalProperties": false }, "ApiError": { "type": "object", "properties": { "ExceptionMessage": { "type": "string", "nullable": true }, "Details": { "type": "string", "nullable": true }, "ReferenceErrorCode": { "type": "string", "nullable": true }, "ReferenceDocumentLink": { "type": "string", "nullable": true }, "Errors": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationError" }, "nullable": true } }, "additionalProperties": false }, "AuthenticateUser": { "required": [ "password", "userName" ], "type": "object", "properties": { "userName": { "minLength": 1, "type": "string" }, "password": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "BillLineModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the line.\r\nQBO: DetailType (Should always be either ItemBasedExpenseLineDetail or AccountBasedExpenseLineDetail based on which detail property is provided)\r\nXero: N/A\r\nMYOB: N/A", "nullable": true, "deprecated": true }, "amount": { "type": "number", "description": "Total amount of the line.\r\nQBO: Amount\r\nXero: LineAmount\r\nMYOB: Amount\r\nSAGE: Invoice_Lines.Total_Amount", "format": "double", "nullable": true }, "description": { "maxLength": 1000, "type": "string", "description": "Description text for the purchase line. Max chars: 1000\r\nQBO: Description\r\nXero: Description\r\nMYOB: Description\r\nSAGE: Invoice_Lines.Description", "nullable": true }, "accountRef": { "type": "string", "description": "MYOB field\r\nInvoice_Lines.Ledger_Account_Id", "nullable": true }, "itemBasedExpenseLineDetail": { "allOf": [ { "$ref": "#/components/schemas/ItemBasedExpenseLineDetailModel" } ], "description": "Details for item purchases from a vendor.", "nullable": true }, "accountBasedExpenseLineDetail": { "allOf": [ { "$ref": "#/components/schemas/AccountBasedExpenseLineDetailModel" } ], "description": "Details for non-item purchases from a vendor.", "nullable": true } }, "additionalProperties": false, "description": "Line item details for vendor bills." }, "BillModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the bill. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Bill record exists, otherwise create a new record\r\nQBO: Update a matching record by DocNumber.\r\nXero: Update a matching record by DocNumber.\r\nMYOB: Update a matching record by DocNumber.\r\nSage: Update a matching record by DocNumber." }, "vendorRef": { "type": "string", "description": "Reference to the vendor for this transaction.\r\nQBO: VendorRef\r\nXero: Contact.ContactID\r\nMYOB: Supplier.UID\r\nSAGE: Contact_Id", "nullable": true }, "type": { "type": "string", "description": "Type of bill.", "nullable": true, "deprecated": true }, "currencyCode": { "type": "string", "description": "Unique id or code for the currency in which all amounts on the associated transaction are expressed.\r\nQBO: CurrencyRef\r\nXero: CurrencyCode\r\nMYOB: ForeignCurrency.UID (read-only\r\nSAGE: Currency_Id", "nullable": true }, "baseCurrency": { "type": "string", "description": "Determines whether the bill is expressed in the home currency or foreign currency.\r\nQBO: When BaseCurrency is not equal to the provided CurrencyCode, automatically look up the currency exchange rate and apply it to the bill.\r\nXero: N/A\r\nMYOB: N/A", "nullable": true }, "txnDate": { "type": "string", "description": "The date this transaction occurred. Defaults to current date if not provided.\r\nQBO: TxnDate\r\nXero: Date\r\nMYOB: Date\r\nSAGE: Date", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due.\r\nQBO: DueDate\r\nXero: DueDate\r\nMYOB: Terms.DueDate\r\nSAGE: Due_Date", "format": "date-time", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction.\r\nQBO: DocNumber.\r\nXero: InvoiceNumber.\r\nMYOB: Number\r\nSAGE: Reference", "nullable": true }, "paymentTermRef": { "type": "string", "description": "Id or code of the payment term associated with the transaction.\r\nQBO: PaymentTermRef\r\nXero: N/A (apply payment terms on customer or vendor instead)\r\nMYOB: Terms.PaymentIsDue and Terms.BalanceDueDate", "nullable": true }, "freightTaxCodeRef": { "type": "string", "description": "QBO: N/A\r\nXero: N/A\r\nMYOB: FreightTaxCode.UID\r\nSage: N/A", "nullable": true }, "line": { "type": "array", "items": { "$ref": "#/components/schemas/BillLineModel" }, "description": "Individual line items for the bill.\r\nQBO: Line\r\nXero: LineItems\r\nMYOB: Lines\r\nSage: Invoice_Lines", "nullable": true }, "privateNote": { "type": "string", "description": "Private note for the transaction. This note does not appear externally outside the organization.\r\nQBO: PrivateNote\r\nXero: N/A\r\nMYOB: N/A\r\nSAGE: Notes", "nullable": true }, "status": { "type": "string", "description": "The status of the bill.\r\nQBO: Status - Valid values: Deleted\r\nXero: Status - Valid values: DRAFT, SUBMITTED, DELETED, AUTHORISED, PAID, and VOIDED \r\nMYOB: Status - Valid values: Unknown, Open, Closed, Debit\r\nSAGE: Status.Id - Valid values: UNPAID, PART_PAID, PAID, VOID, DRAFT, DISPUTED, DECLINED or PRO_FORMA", "nullable": true }, "referenceNumber": { "maxLength": 255, "type": "string", "description": "Additional reference number for the bill, e.g., supplier invoice number. Max chars: 255.\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: SupplierInvoiceNumber\r\nSage: Vendor_Reference", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the bill\r\nQBO: MetaData.CreateTime", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the bill\r\nQBO: MetaData.LastUpdatedTime", "format": "date-time", "nullable": true }, "showTaxInclusiveAmounts": { "type": "boolean", "description": "Indicates whether to display amounts on the bill with tax included or not.\r\nQBO: GlobalTaxCalculation (true -> TaxInclusive, false -> TaxExcluded, null -> NotApplicable)", "nullable": true } }, "additionalProperties": false, "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices" }, "BillModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/BillModel" } ], "description": "Represents a Vendor Bill to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/bill\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/\r\nSAGE: https://developer.myob.cohttps://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Invoices", "nullable": true } }, "additionalProperties": false }, "BillModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/BillModel" }, "nullable": true } }, "additionalProperties": false }, "BillResponseModel": { "type": "object", "properties": { "billId": { "type": "string", "description": "Unique id of the vendor bill.", "nullable": true }, "docNumber": { "type": "string", "description": "User-defined alphanumeric identifier for the bill.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true } }, "additionalProperties": false, "description": "A record containing the unique id, doc number, and syncToken for a saved GL account." }, "BillResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/BillResponseModel" } ], "description": "A record containing the unique id, doc number, and syncToken for a saved GL account.", "nullable": true } }, "additionalProperties": false }, "ChartAccountResponseModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the account.", "nullable": true }, "name": { "type": "string", "description": "Account name.\r\nSage: Name", "nullable": true }, "description": { "type": "string", "description": "User-defined description for the account.\r\nSage: N/A", "nullable": true }, "accountType": { "type": "string", "description": "The detailed account type based on classification that specifies the use of this account.\r\nSage: Ledger_Account_Type.Id", "nullable": true }, "accountNumber": { "type": "string", "description": "User-defined account number to identify the account.\r\nSage: Nominal_Code", "nullable": true }, "fullyQualifiedName": { "type": "string", "description": "Fully qualified name of the account, including the parent account's name if available.\r\nSage: Display_Name", "nullable": true }, "active": { "type": "boolean", "description": "Whether the account is active.\r\nSage: N/A" }, "taxCodeRef": { "type": "string", "description": "Unique id for the default tax code assigned to this account.\r\nSage: Tax_Rate.Id", "nullable": true }, "isHeader": { "type": "boolean", "description": "Whether the account is a header or top-level account record." }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time for the Account.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: N/A\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time for the Account.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: UpdatedDateUTC\r\nSAGE: N/A", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "A summary record representing a GL account." }, "ChartAccountResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/ChartAccountResponseModel" } ], "description": "A summary record representing a GL account.", "nullable": true } }, "additionalProperties": false }, "ChartAccountResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/ChartAccountResponseModel" }, "nullable": true } }, "additionalProperties": false }, "CompanyPreferencesResponseModel": { "type": "object", "properties": { "multiCurrencyEnabled": { "type": "boolean", "description": "Indicates whether multicurrency is enabled for this company.\r\nQBO: CurrencyPrefs.MultiCurrencyEnabled" }, "homeCurrency": { "type": "string", "description": "Currency code of the company's country.\r\nQBO: CurrencyPrefs.HomeCurrency", "nullable": true }, "country": { "type": "string", "description": "Country where the company is located.\r\nQBO: CompanyInfo.Country", "nullable": true }, "salesTaxEnabled": { "type": "boolean", "description": "Indicates whether sales tax is enabled for the company.\r\nQBO: TaxPrefs.UsingSalesTax" } }, "additionalProperties": false, "description": "Represents the preferences of the company connected to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/preferences" }, "CompanyPreferencesResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CompanyPreferencesResponseModel" } ], "description": "Represents the preferences of the company connected to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/preferences", "nullable": true } }, "additionalProperties": false }, "ContentResponseModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the entity.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true } }, "additionalProperties": false, "description": "A record containing the unique id and syncToken for a saved entity." }, "ContentResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/ContentResponseModel" } ], "description": "A record containing the unique id and syncToken for a saved entity.", "nullable": true } }, "additionalProperties": false }, "CreditMemoLineModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the credit memo line.\r\nQBO: N/A (Should always be SalesItemLineDetail)\r\nXero: N/A\r\nMYOB: N/A", "nullable": true, "deprecated": true }, "amount": { "type": "number", "description": "(Total field for Myob)", "format": "double", "nullable": true }, "description": { "type": "string", "description": "Description for the credit memo line. Max chars: 255.", "nullable": true }, "accountRef": { "type": "string", "description": "MYOB field", "nullable": true }, "salesItemLineDetail": { "allOf": [ { "$ref": "#/components/schemas/SalesItemLineDetailModel" } ], "description": "Line Item Details", "nullable": true } }, "additionalProperties": false, "description": "Line item details for customer credits." }, "CreditMemoModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the credit memo. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Credit Memo record exists, otherwise create a new record\r\nQBO: Update a matching record by DocNumber.\r\nXero: Update a matching record by DocNumber.\r\nMYOB: Update a matching record by DocNumber.\r\nSage: Update a matching record by DocNumber." }, "customerRef": { "type": "string", "description": "Unique id of the customer to which to apply this credit.\r\nQBO: CustomerRef\r\nXero: Contact.ContactID\r\nMYOB: Customer.UID\r\nSAGE: Contact_Id", "nullable": true }, "line": { "type": "array", "items": { "$ref": "#/components/schemas/CreditMemoLineModel" }, "description": "Details of individual credit memo lines.", "nullable": true }, "currencyCode": { "type": "string", "description": "Unique id or code for the currency in which all amounts on the associated transaction are expressed.\r\nQBO: CurrencyRef\r\nXero: CurrencyCode\r\nMYOB: ForeignCurrency.UID (read-only)\r\nSAGE: Currency_Id", "nullable": true }, "baseCurrency": { "type": "string", "description": "Determines whether the bill is expressed in the home currency or foreign currency.\r\nQBO: When BaseCurrency is not equal to the provided CurrencyCode, automatically look up the currency exchange rate and apply it to the bill.\r\nXero: N/A\r\nMYOB: N/A\r\nSage: When BaseCurrency is not equal to the provided CurrencyCode, automatically look up the currency exchange rate and apply it to the bill.", "nullable": true }, "txnDate": { "type": "string", "description": "The transaction or issue date for the credit memo.\r\nQBO: TxnDate\r\nXero: Date\r\nMYOB: Date\r\nSAGE: Date", "format": "date-time", "nullable": true }, "invoiceRef": { "type": "string", "description": "Id of the Invoice for which Credit Memo is issued.\r\nQBO: InvoiceRef\r\nXero: LineItems.InvoiceID\r\nMYOB: Invoice.UID (Credit Refund Payment only)", "nullable": true }, "accountRef": { "type": "string", "description": "MYOB Field maps with Account.UID", "nullable": true }, "billAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Bill-to address of the Credit Memo. If not specified, the customer's default billing address may be used.\r\nQBO: BillAddr\r\nXero: Contact.Addresses (address type POBOX)\r\nMYOB: Payee (Credit Refund Payment only)", "nullable": true }, "shipAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Ship-to address of the Credit Memo. If not specified, the customer's default shipping address may be used.\r\nQBO: ShipAddr", "nullable": true }, "billEmail": { "type": "string", "description": "Identifies the e-mail address where the invoice is sent.\r\nQBO: BillEmail.Address. If EmailStatus=NeedToSend, BillEmail is a required input.\r\nXero: N/A\r\nMYOB: N/A\r\nSAGE: Contact.Email (Read only)", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction.\r\nQBO: DocNumber\r\nXero: CreditNoteNumber\r\nMYOB: Number\r\nSAGE: Reference", "nullable": true }, "taxCodeRef": { "type": "string", "description": "Id of the tax code to use for this transaction.\r\nSAGE: Tax_Analysis.Tax_Rate_Id", "nullable": true }, "status": { "type": "string", "description": "The status of the credit memo.\r\nQBO: Status - Valid values: Deleted\r\nXero: Status - Valid values: DRAFT, SUBMITTED, DELETED, AUTHORISED, PAID, and VOIDED \r\nMYOB: Status - Valid values: Unknown, Open, Closed, Credit\r\nSAGE: Status.Id - Valid values: UNPAID, PART_PAID, PAID, VOID, DRAFT, DISPUTED, DECLINED or PRO_FORMA", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time date for the credit memo.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: Date\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time date for the credit memo.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: UpdatedDateUTC\r\nSAGE: N/A", "format": "date-time", "nullable": true }, "customerMemo": { "type": "string", "description": "CustomerMemo is used for a note that is able to be read by the customer on the invoice.\r\nQBO: CustomerMemo\r\nXero: N/A\r\nMYOB: Memo\r\nSage: N/A", "nullable": true }, "privateNote": { "type": "string", "description": "PrivateNote is used for a note that will not be shown to the customer on the invoice.\r\nQBO: PrivateNote\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true } }, "additionalProperties": false, "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes" }, "CreditMemoModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoModel" } ], "description": "Represents a Customer Credit Memo to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/creditmemo\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/sale/invoice/invoice_item/ (Credit Invoice)\r\n OR https://developer.myob.com/api/myob-business-api/v2/sale/credit_refund/ (Credit Refund Payment)\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Credit-Notes", "nullable": true } }, "additionalProperties": false }, "CreditMemoModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/CreditMemoModel" }, "nullable": true } }, "additionalProperties": false }, "CreditMemoResponseModel": { "type": "object", "properties": { "creditMemoId": { "type": "string", "description": "Unique id of the credit memo.", "nullable": true }, "docNumber": { "type": "string", "description": "User-defined alphanumeric identifier for the credit memo.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true } }, "additionalProperties": false, "description": "A record containing the unique id and syncToken for a saved credit memo." }, "CreditMemoResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CreditMemoResponseModel" } ], "description": "A record containing the unique id and syncToken for a saved credit memo.", "nullable": true } }, "additionalProperties": false }, "CurrencyModel": { "type": "object", "properties": { "currencyCode": { "type": "string", "nullable": true } }, "additionalProperties": false, "description": "Represents a currency being saved to the financial system." }, "CurrencyModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CurrencyModel" } ], "description": "Represents a currency being saved to the financial system.", "nullable": true } }, "additionalProperties": false }, "CurrencyResponseModel": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "nullable": true }, "currencyCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the Currency\r\nQBO: Active\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time date for the Currency.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: N/A\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time date for the Currency.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: N/A\r\nSAGE: N/A", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CurrencyResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyResponseModel" }, "nullable": true } }, "additionalProperties": false }, "CustomerModel": { "type": "object", "properties": { "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Customer record exists, otherwise create a new record\r\nQBO: Update a matching record by DisplayName.\r\nXero: Update a matching record by DisplayName.\r\nMYOB: Update a matching record by CompanyName if provided, or by First Name and Last Name if CompanyName not provided.\r\nSage: Update a matching record by Name." }, "fax": { "maxLength": 21, "type": "string", "description": "Fax number for the customer. Max chars: 21.\r\nQBO: Fax\r\nXero: Phones (phone type FAX)\r\nMYOB: Addresses.Fax (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Fax", "nullable": true }, "phoneOther": { "maxLength": 21, "type": "string", "description": "Alternate phone number for the customer. Max chars: 21.\r\nQBO: AlternatePhone\r\nXero: Phones (phone type DDI)\r\nMYOB: Addresses.Phone3 (for bill address if it exists, otherwise for ship address)", "nullable": true }, "billAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Billing address for the customer.", "nullable": true }, "shipAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Shipping address for the customer.", "nullable": true }, "taxable": { "type": "boolean", "description": "Whether the customer is a tax payee.\r\nQBO: Taxable\r\nXero: N/A\r\nMYOB: N/A" }, "customerTypeRef": { "type": "string", "description": "Id of the customer type assigned to the customer.\r\nQBO: CustomerTypeRef\r\nXero: N/A\r\nMYOB: N/A\r\nSage: Contact_Type_Ids", "nullable": true }, "paymentMethodRef": { "type": "string", "description": "Id of the payment method associated with the customer.\r\nQBO: PaymentMethodRef\r\nXero: N/A\r\nMYOB: N/A\r\nSage: Product_Sales_Price_Type_Id", "nullable": true }, "webAddress": { "maxLength": 255, "type": "string", "description": "Website address. Max chars: 255.\r\nQBO: WebAddr\r\nXero: Website (Read only -- ignored on save)\r\nMYOB: Addresses.Website (for bill address if it exists, otherwise for ship address)", "nullable": true }, "paymentTermRef": { "type": "string", "description": "Id of the customer's payment terms.\r\nQBO: PaymentTermRef\r\nXero: PaymentTerms.Sales.Day and PaymentTerms.Sales.Type\r\nMYOB: SellingDetails.Terms.BalanceDueDate and SellingDetails.Terms.PaymentIsDue\r\nSage: Credit_Days and Credit_Terms", "nullable": true }, "currencyCode": { "maxLength": 36, "type": "string", "description": "Id or code of the currency the customer uses. Max chars: 36.\r\nQBO: CurrencyCode\r\nXero: DefaultCurrency\r\nMYOB: ForeignCurrency.UID\r\nSAGE: Currency_Id", "nullable": true }, "taxCodeRef": { "type": "string", "description": "Id of the tax code for sales to the customer.\r\nQBO: TaxCodeRef\r\nXero: AccountsReceivableTaxType\r\nMYOB: SellingDetails.TaxCode.UID\r\nSage: Default_Sales_Tax_Rate_Id", "nullable": true }, "freightTaxCodeRef": { "type": "string", "description": "Id of the freight tax code for sales to the customer.\r\nQBO: FreightTaxCodeRef\r\nXero: N/A\r\nMYOB: SellingDetails.FreightTaxCode.UID", "nullable": true }, "taxIdentifier": { "type": "string", "description": "Tax identifier for the customer.\r\nQBO: TaxIdentifier (The Tax ID of the Person or Organization. Also called Tax Reg. No in (UK) , (CA) , (IN) , (AU))\r\nXero: TaxNumber (The ABN (AU), GST Number (NZ), VAT Number (UK) or Tax ID Number (US/Global))\r\nMYOB: ABN (AU only - 11 digits and formatted as XX XXX XXX XXX) and TaxIdNumber\r\nSage: Tax_Number", "nullable": true }, "code": { "maxLength": 15, "type": "string", "description": "A short code or number used to identify this customer.\r\nQBO: ResaleNum\r\nXero: ContactNumber\r\nMYOB: DisplayID\r\nSage: Reference", "nullable": true }, "id": { "type": "string", "description": "Unique id of the contact. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "companyName": { "type": "string", "description": "The name of the company associated with the person or organization. Max chars: 50.\r\nQBO: CompanyName\r\nXero: Name (used only when DisplayName is not provided)\r\nMYOB: CompanyName (also sets IsIndividual to false if provided)\r\nSage: Name", "nullable": true }, "phonePrimary": { "type": "string", "description": "Primary phone number for the contact. Max chars: 21.\r\nQBO: PrimaryPhone\r\nXero: Phones (phone type DEFAULT)\r\nMYOB: Addresses.Phone1 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Telephone", "nullable": true }, "phoneMobile": { "type": "string", "description": "Mobile phone number for the contact. Max chars: 21.\r\nQBO: Mobile\r\nXero: Phones (phone type MOBILE)\r\nMYOB: Addresses.Phone2 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Mobile", "nullable": true }, "email": { "type": "string", "description": "Email address for the contact. Max chars: 100.\r\nQBO: PrimaryEmailAddr\r\nXero: EmailAddress (N/A for Employees)\r\nMYOB: Addresses.Email (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Email", "nullable": true }, "displayName": { "type": "string", "description": "Display name of the person or organization. Max chars: 255.\r\nQBO: DisplayName (Must be unique across all Customer, Vendor, and Employee objects)\r\nXero: Name (N/A for Employees)\r\nMYOB: CompanyName OR concatenated FirstName and LastName (read-only, ignored when saving)\r\nSage: Displayed_As (read-only, ignored when saving)", "nullable": true }, "firstName": { "type": "string", "description": "First name of the contact. Max chars: 20.\r\nQBO: GivenName\r\nXero: FirstName\r\nMYOB: FirstName\r\nSage: MainContactPerson.Name", "nullable": true }, "lastName": { "type": "string", "description": "Last name of the person. Max chars: 30.\r\nQBO: FamilyName\r\nXero: LastName\r\nMYOB: LastName\r\nSage: MainContactPerson.Name", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the contact\r\nQBO: Active\r\nXero: ContactStatus == Contact.ContactStatusEnum.ACTIVE\r\nMYOB: IsActive\r\nSage: is_active", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the contact\r\nQBO: MetaData.CreateTime\r\nXero: N/A\r\nMYOB: Created\r\nSage: created_at", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the contact\r\nQBO: MetaData.LastUpdatedTime\r\nXero: UpdatedDateUTC\r\nMYOB: LastModified\r\nSage: updated_at", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" }, "CustomerModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CustomerModel" } ], "description": "Represents a Customer to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/customer/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts", "nullable": true } }, "additionalProperties": false }, "CustomerModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/CustomerModel" }, "nullable": true } }, "additionalProperties": false }, "CustomerResponseModel": { "type": "object", "properties": { "customerId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CustomerResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/CustomerResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "CustomerShippingAddressModel": { "required": [ "customerId" ], "type": "object", "properties": { "customerId": { "minLength": 1, "type": "string", "description": "Customer ID" }, "customerSyncToken": { "type": "string", "description": "Sync Token of Customer", "nullable": true }, "line1": { "type": "string", "description": "First line of address. (Max chars: 255)\r\nQBO: Line1\r\nXero: AddressLine1\r\nMYOB: Street\r\nSage: Address_Line_1", "nullable": true }, "line2": { "type": "string", "description": "Second line of address. (Max chars: 255)\r\nQBO: Line2\r\nXero: AddressLine2\r\nMYOB: Street (Will be concatenated with previous lines when saved. Total length must not exceed 255 chars)\r\nSage: Address_Line_2", "nullable": true }, "line3": { "type": "string", "description": "Third line of address. (Max chars: 255)\r\nQBO: Line3\r\nXero: AddressLine3 (For AU employee addresses, will be concatenated with previous line when saved.)\r\nMYOB: Street (Will be concatenated with previous lines when saved. Total length must not exceed 255 chars)", "nullable": true }, "line4": { "type": "string", "description": "Fourth line of address. (Max chars: 255)\r\nQBO: Line4\r\nXero: AddressLine4 (For AU employee addresses, will be concatenated with previous line when saved.)\r\nMYOB: N/A", "nullable": true }, "line5": { "type": "string", "description": "Fifth line of address. (Max chars: 255)\r\nQBO: Line5\r\nXero: N/A\r\nMYOB: N/A", "nullable": true }, "city": { "type": "string", "description": "City. (Max chars: 255)\r\nQBO: City\r\nXero: City\r\nMYOB: City\r\nSage: City", "nullable": true }, "stateProv": { "type": "string", "description": "State or province. (Max chars: 255)\r\nQBO: CountrySubDivisionCode\r\nXero: Region (For AU: ACT, NSW, NT, QLD, SA, TAS, VIC, WA)\r\nMYOB: State\r\nSage: Region", "nullable": true }, "postalCode": { "type": "string", "description": "Postal code. (Max chars: 11)\r\nQBO: PostalCode\r\nXero: PostalCode\r\nMYOB: PostCode\r\nSage: Postal_Code\r\nSage: Country_Id", "nullable": true }, "country": { "type": "string", "description": "Country. (Max chars: 50)\r\nQBO: Country\r\nXero: Country\r\nMYOB: Country", "nullable": true } }, "additionalProperties": false, "description": "THIS CLASS IS USED TO HAVE SHIPPING ADDRESS DETAILS" }, "CustomerTypeResponseModel": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "active": { "type": "boolean" }, "createDateTime": { "type": "string", "description": "CreateDateTime for the contact\r\nQBO: MetaData.CreateTime\r\nXero: N/A\r\nMYOB: NA\r\nSage: NA", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the contact\r\nQBO: MetaData.LastUpdatedTime\r\nXero:NA\r\nMYOB: NA\r\nSage: NA", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CustomerTypeResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/CustomerTypeResponseModel" }, "nullable": true } }, "additionalProperties": false }, "EmployeeModel": { "type": "object", "properties": { "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Employee record exists, otherwise create a new record\r\nQBO: Update a matching record by DisplayName.\r\nXero: Update a matching record by First Name, Last Name, and DOB (AU); First Name and Last Name (US/Global)." }, "primaryAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "The Primary address", "nullable": true }, "dob": { "type": "string", "description": "Birth date of the employee.", "format": "date-time", "nullable": true }, "hireDate": { "type": "string", "description": "Hire date of the employee.", "format": "date-time", "nullable": true }, "terminationDate": { "type": "string", "description": "Termination date of the employee.", "format": "date-time", "nullable": true }, "gender": { "type": "string", "description": "Gender of the employee.", "nullable": true }, "title": { "type": "string", "description": "Title of the employee.", "nullable": true }, "billRate": { "type": "number", "description": "BillRate of the employee.", "format": "double", "nullable": true }, "id": { "type": "string", "description": "Unique id of the contact. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "companyName": { "type": "string", "description": "The name of the company associated with the person or organization. Max chars: 50.\r\nQBO: CompanyName\r\nXero: Name (used only when DisplayName is not provided)\r\nMYOB: CompanyName (also sets IsIndividual to false if provided)\r\nSage: Name", "nullable": true }, "phonePrimary": { "type": "string", "description": "Primary phone number for the contact. Max chars: 21.\r\nQBO: PrimaryPhone\r\nXero: Phones (phone type DEFAULT)\r\nMYOB: Addresses.Phone1 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Telephone", "nullable": true }, "phoneMobile": { "type": "string", "description": "Mobile phone number for the contact. Max chars: 21.\r\nQBO: Mobile\r\nXero: Phones (phone type MOBILE)\r\nMYOB: Addresses.Phone2 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Mobile", "nullable": true }, "email": { "type": "string", "description": "Email address for the contact. Max chars: 100.\r\nQBO: PrimaryEmailAddr\r\nXero: EmailAddress (N/A for Employees)\r\nMYOB: Addresses.Email (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Email", "nullable": true }, "displayName": { "type": "string", "description": "Display name of the person or organization. Max chars: 255.\r\nQBO: DisplayName (Must be unique across all Customer, Vendor, and Employee objects)\r\nXero: Name (N/A for Employees)\r\nMYOB: CompanyName OR concatenated FirstName and LastName (read-only, ignored when saving)\r\nSage: Displayed_As (read-only, ignored when saving)", "nullable": true }, "firstName": { "type": "string", "description": "First name of the contact. Max chars: 20.\r\nQBO: GivenName\r\nXero: FirstName\r\nMYOB: FirstName\r\nSage: MainContactPerson.Name", "nullable": true }, "lastName": { "type": "string", "description": "Last name of the person. Max chars: 30.\r\nQBO: FamilyName\r\nXero: LastName\r\nMYOB: LastName\r\nSage: MainContactPerson.Name", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the contact\r\nQBO: Active\r\nXero: ContactStatus == Contact.ContactStatusEnum.ACTIVE\r\nMYOB: IsActive\r\nSage: is_active", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the contact\r\nQBO: MetaData.CreateTime\r\nXero: N/A\r\nMYOB: Created\r\nSage: created_at", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the contact\r\nQBO: MetaData.LastUpdatedTime\r\nXero: UpdatedDateUTC\r\nMYOB: LastModified\r\nSage: updated_at", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Employee Model" }, "EmployeeModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/EmployeeModel" } ], "description": "Employee Model", "nullable": true } }, "additionalProperties": false }, "EmployeeModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/EmployeeModel" }, "nullable": true } }, "additionalProperties": false }, "EmployeePayRateResponseModel": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "rateType": { "type": "string", "nullable": true } }, "additionalProperties": false }, "EmployeePayRateResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/EmployeePayRateResponseModel" }, "nullable": true } }, "additionalProperties": false }, "ExchangeRateResponseModel": { "type": "object", "properties": { "sourceCurrencyCode": { "type": "string", "nullable": true }, "targetCurrencyCode": { "type": "string", "nullable": true }, "rate": { "type": "number", "format": "double" }, "effectiveDate": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ExchangeRateResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/ExchangeRateResponseModel" }, "nullable": true } }, "additionalProperties": false }, "InvoiceLineModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the invoice or credit memo line.\r\nQBO: N/A (Should always be SalesItemLineDetail)\r\nXero: N/A\r\nMYOB: N/A", "nullable": true, "deprecated": true }, "amount": { "type": "number", "description": "(Total field for Myob)", "format": "double", "nullable": true }, "description": { "type": "string", "description": "Description text for the sale line.\r\nMax Chars : 1000 (QBO: Max Chars - 4000, Xero: Max Chars - 4000, MYOB: Max Chars - 1000)", "nullable": true }, "accountRef": { "type": "string", "description": "MYOB field", "nullable": true }, "salesItemLineDetail": { "allOf": [ { "$ref": "#/components/schemas/SalesItemLineDetailModel" } ], "description": "Line Item Details", "nullable": true }, "discountAmount": { "type": "number", "format": "double", "nullable": true }, "discountPercent": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false, "description": "Line item details for customer invoices and credits." }, "InvoiceModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the invoice. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Invoice record exists, otherwise create a new record\r\nQBO: Update a matching record by DocNumber.\r\nXero: Update a matching record by DocNumber.\r\nSage: Update a matching record by DocNumber." }, "customerRef": { "type": "string", "description": "Customer Reference\r\nSage: Contact_Id", "nullable": true }, "line": { "type": "array", "items": { "$ref": "#/components/schemas/InvoiceLineModel" }, "description": "An array of line invoice information", "nullable": true }, "currencyCode": { "type": "string", "description": "In QBO maps with CurrencyRef.Value\r\nSage: Currency_Id", "nullable": true }, "baseCurrency": { "type": "string", "description": "Misc. field to determine if Currency code is home currency or foreign currency", "nullable": true }, "invoiceType": { "type": "string", "description": "Type of invoice.", "nullable": true, "deprecated": true }, "txnDate": { "type": "string", "description": "(Date field for Myob)\r\nThe date entered by the user when this transaction occurred.\r\nyyyy/MM/dd is the valid date format.\r\nSage: Date", "format": "date-time", "nullable": true }, "dueDate": { "type": "string", "description": "Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.\r\nSage: Due_Date", "format": "date-time", "nullable": true }, "paymentTermRef": { "type": "string", "description": "Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object for this reference. \r\nSage: Payments_Allocation.Reference", "nullable": true }, "billAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "Bill-to address of the Invoice. If BillAddris not specified, and a default Customer:BillingAddr is specified in QuickBooks for this customer, the default bill-to address is used by QuickBooks.", "nullable": true }, "shipAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "(ShipToAddress field for Myob)\r\nIdentifies the address where the goods must be shipped. If ShipAddris not specified, and a default Customer:ShippingAddr is specified in QuickBooks \r\nfor this customer, the default ship-to address will be used by QuickBooks.", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction. QBO: DocNumber. Xero: InvoiceNumber. Sage: Reference.\r\nMax Chars : 21 (QBO: Max Chars - 21, MYOB: Max Chars - 30, Xero: Max Chars - 50, Sage: Max Chars - 25)", "nullable": true }, "status": { "type": "string", "description": "(Myob -> Open, Close, Credit)\r\nInvoice Status (Xero-Submitted,Authorised)\r\nSage: Status_Id (OUTSTANDING, OVERDUE, UNPAID, PART_PAID, PAID, VOID, DRAFT and PRO_FORMA)", "nullable": true }, "shipDate": { "type": "string", "description": "Date for delivery of goods or services.", "format": "date-time", "nullable": true }, "shipMethod": { "type": "string", "description": "Maps with MYOB field ShippingMethod.\r\nMaps with QBO ShipMethodRef.Value", "nullable": true }, "billEmail": { "type": "string", "description": "(QBO Related field)\r\nIdentifies the e-mail address where the invoice is sent. If EmailStatus=NeedToSend, BillEmailis a required input.\r\nMax Chars : 100 (QBO: Max Chars - 100)\r\nSage: Contact.Email", "nullable": true }, "trackingNum": { "type": "string", "description": "(QBO Related field)\r\nTracking Number (Shipping Info)", "nullable": true }, "taxCodeRef": { "type": "string", "description": "Tax code reference\r\nSage: Tax_Analysis.Tax_Rate_Id", "nullable": true }, "referenceNumber": { "maxLength": 255, "type": "string", "description": "Reference number for the invoice, e.g., customer purchase order number. Max chars: 255.\r\nQBO: N/A\r\nXero: Reference\r\nMYOB: CustomerPurchaseOrderNumber\r\nSage: N/A", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time date for the Invoice.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: Date\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time date for the Invoice.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: UpdatedDateUTC\r\nSAGE: N/A", "format": "date-time", "nullable": true }, "active": { "type": "boolean", "description": "Active for the Invoice\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "totalDiscountAmount": { "type": "number", "description": "TotalDiscountAmount for the Invoice\r\nQBO: DiscountLineDetail.Amount\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "format": "double", "nullable": true }, "customerMemo": { "type": "string", "description": "CustomerMemo is used for a note that is able to be read by the customer on the invoice.\r\nQBO: CustomerMemo\r\nXero: N/A\r\nMYOB: JournalMemo\r\nSage: Notes", "nullable": true }, "privateNote": { "type": "string", "description": "PrivateNote is used for a note that will not be shown to the customer on the invoice.\r\nQBO: PrivateNote\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true } }, "additionalProperties": false, "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices" }, "InvoiceModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/InvoiceModel" } ], "description": "This class is being used to have invoice details\r\nSage: https://developer.sage.com/accounting/reference/invoicing-sales/#tag/Sales-Invoices", "nullable": true } }, "additionalProperties": false }, "InvoiceResponseModel": { "type": "object", "properties": { "invoiceId": { "type": "string", "nullable": true }, "docNumber": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the Invoice\r\nQBO: N/A\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time date for the Invoice.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: Date\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time date for the Invoice.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: UpdatedDateUTC\r\nSAGE: N/A", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "InvoiceResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/InvoiceResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "InvoiceResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/InvoiceResponseModel" }, "nullable": true } }, "additionalProperties": false }, "ItemBasedExpenseLineDetailModel": { "type": "object", "properties": { "itemRef": { "type": "string", "description": "Reference to the Item.\r\nSAGE: Invoice_Lines.Product_Id", "nullable": true }, "accountCode": { "type": "string", "description": "(Xero) The Account code/number for this line item, if different from the item's default account.", "nullable": true }, "taxCodeRef": { "type": "string", "description": "(QBO) The Id reference to the TaxCode for this line item.\r\n(Xero) The TaxCode for this line item, if different from the item's default tax rate.\r\nSage: Invoice_Line.Tax_Rate_Id", "nullable": true }, "qty": { "type": "number", "description": "Number of items for the line. Maps with MYOB BillQuantity\r\nSAGE: Invoice_Lines.Quantity", "format": "double" }, "unitPrice": { "type": "number", "description": "Unit price of the subject item as referenced by ItemRef.\r\nSAGE: Invoice_Lines.Unit_Price", "format": "double" }, "customerRef": { "type": "string", "description": "Reference to a customer or job.", "nullable": true } }, "additionalProperties": false, "description": "Item based expense line detail model" }, "ItemModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the item. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Item record exists, otherwise create a new record\r\nQBO: Update a matching record by Code.\r\nXero: Update a matching record by Code.\r\nMYOB: Update a matching record by Code.\r\nSage: Update a matching record by Code." }, "updateTransactionHistory": { "type": "boolean", "description": "Whether income or expense account on existing transactions for this item should be updated with new accounts. Default: true.\r\nQBO: Uses historical transaction-exclusive item update when false.\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "type": { "type": "string", "description": "Classification that specifies the use of this item. Valid values are: Inventory, NonInventory, Service, and Category\r\nQBO: Type\r\nXero: N/A\r\nMYOB: N/A\r\nSage: Catalog_Item_Type_Id", "nullable": true }, "code": { "type": "string", "description": "Code or short name for this item. Max chars: 30.\r\nQBO: Name\r\nXero: Code and Name\r\nMYOB: Number and Name\r\nSage: Item_Code", "nullable": true }, "description": { "type": "string", "description": "Sales description of the item. Max chars: 255.\r\nQBO: Description\r\nXero: Description\r\nMYOB: Description\r\nSage: Description", "nullable": true }, "purchaseDesc": { "type": "string", "description": "Purchase description for the item. Max chars: 255.\r\nQBO: PurchaseDesc\r\nXero: PurchaseDescription\r\nMYOB: UseDescription (If PurchaseDesc is provided and equal to Description, set UseDescription to true so Description is used on both sales and purchases, otherwise ignored)\r\nSage: Purchase_Description", "nullable": true }, "incomeGLAccountRef": { "type": "string", "description": "Id of the account that records the proceeds from the sale of this item.\r\nQBO: IncomeAccountRef\r\nXero: SalesDetails.AccountCode. The AccountCode used is based on the unique GL Account Id provided as IncomeGLAccountRef\r\nMYOB: IncomeAccount.UID\r\nSage: Sales_Ledger_Account_Id", "nullable": true }, "sellTaxCodeRef": { "type": "string", "description": "Tax Code to use when selling this item.\r\nQBO: SellTaxCodeRef\r\nXero: SalesDetails.TaxType\r\nMYOB: SellingDetails.TaxCode.UID\r\nSage: Sales_Tax_Rate_Id", "nullable": true }, "expenseGLAccountRef": { "type": "string", "description": "Id of the account used to pay a vendor for this item.\r\nQBO: ExpenseAccountRef\r\nXero: PurchaseDetails.AccountCode (non-tracked item) or PurchaseDetails.COGSAccountCode (tracked inventory item). The AccountCode used is based on the unique GL Account Id provided as ExpenseGLAccountRef.\r\nMYOB: ExpenseAccount.UID\r\nSage: Purchase_Ledger_Account_Id", "nullable": true }, "purchaseTaxCodeRef": { "type": "string", "description": "Tax Code to use when purchasing this item.\r\nQBO: PurchaseTaxCodeRef\r\nXero: PurchaseDetails.TaxType\r\nMYOB: BuyingDetails.TaxCode.UID\r\nSage: Purchase_Tax_Rate_Id", "nullable": true }, "sku": { "maxLength": 100, "type": "string", "description": "The stock keeping unit (SKU) for this Item. This is a company-defined identifier for an item or product used in tracking inventory. Max chars: 100.\r\nQBO: Sku\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "categoryRef": { "type": "string", "description": "Id of the parent item category of this sub-item.\r\nQBO: ParentRef\r\nXero: N/A\r\nMYOB: N/A\r\nSage: N/A", "nullable": true }, "taxable": { "type": "boolean", "description": "Whether transactions for this item are taxable.\r\nQBO: Taxable (US only)\r\nXero: N/A\r\nMYOB: N/A\r\nSage: Sales_Prices.Price_Includes_Tax" }, "preferredVendorRef": { "type": "string", "description": "Id of the preferred vendor to buy from when purchasing this item.\r\nQBO: PrefVendorRef\r\nXero: N/A\r\nMYOB: BuyingDetails.RestockingInformation.Supplier.UID\r\nSage: Usual_Supplier_Id", "nullable": true }, "unitPrice": { "type": "number", "description": "Unit price when selling this item.\r\nQBO: UnitPrice\r\nXero: SalesDetails.UnitPrice\r\nMYOB: SellingDetails.BaseSellingPrice\r\nSage: Sales_Prices.Price", "format": "double", "nullable": true }, "purchaseCost": { "type": "number", "description": "Unit cost when purchasing this item.\r\nQBO: PurchaseCost\r\nXero: PurchaseDetails.UnitPrice\r\nMYOB: BuyingDetails.StandardCost\r\nSage: Cost_Price", "format": "double", "nullable": true }, "assetGLAccountRef": { "type": "string", "description": "AssetGLAccountRef for the item\r\nQBO: AssetActRefrence\r\nXero: InventoryAssetAccountCode. The AccountCode used is based on the unique GL Account Id provided as AssetGLAccountRef.\r\nMYOB: AssetAccount.UID\r\nSage: N/A", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the item\r\nQBO: Active\r\nXero: N/A\r\nMYOB: IsActive\r\nSage: N/A", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the item\r\nQBO: MetaData.CreateTime\r\nXero: N/A\r\nMYOB: N/A\r\nSage: CreatedAt", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the item\r\nQBO: MetaData.LastUpdatedTime\r\nXero: UpdatedDateUTC\r\nMYOB: LastModified\r\nSage: N/A", "format": "date-time", "nullable": true }, "qtyOnHand": { "type": "integer", "format": "int32", "nullable": true }, "invStartDate": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts" }, "ItemModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/ItemModel" } ], "description": "Represents a Item, generally for sale or purchase, to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item\r\nXero: https://developer.xero.com/documentation/api/accounting/items\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/inventory/item/\r\nSage: https://developer.sage.com/accounting/reference/products-services/#tag/Products/operation/getProducts", "nullable": true } }, "additionalProperties": false }, "ItemModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/ItemModel" }, "nullable": true } }, "additionalProperties": false }, "JournalLineModel": { "type": "object", "properties": { "id": { "type": "string", "description": "MYOB: RowId\r\nXero: N/A\r\nQBO: Id\r\nSage: Id", "nullable": true }, "type": { "type": "string", "description": "MYOB: IsCredit (false when Type = \"Debit\", true when Type = \"Credit\")\r\nXero: Debits must be positive and Credits must be negative in Xero. When Type = \"Credit\" and LineAmount is positive, LineAmount is negated. When Type = \"Debit\" and LineAmount is negative, LineAmount is negated.\r\nQBO: PostingType\r\nSage: N/A", "nullable": true }, "amount": { "type": "number", "description": "MYOB: Amount\r\nXero: LineAmount\r\nQBO: Amount\r\nSage: Credit/Debit", "format": "double" }, "accountRef": { "type": "string", "description": "MYOB: Account.UID\r\nXero: AccountID. System Accounts and Bank Accounts may not be used.\r\nQBO: AccountRef\r\nSage: Ledger_Account_Id", "nullable": true }, "taxCodeRef": { "type": "string", "description": "MYOB: TaxCode.UID\r\nXero: TaxType\r\nQBO: TaxCodeRef", "nullable": true }, "customerOrVendorRef": { "type": "string", "description": "Gets or sets the reference identifier for the associated customer or vendor.\r\nMYOB: N/A\r\nXero: N/A\r\nQBO: Entity.EntityRef.Value", "nullable": true }, "description": { "type": "string", "description": "MYOB: Memo\r\nXero: Description\r\nQBO: Description\r\nSage: Details", "nullable": true } }, "additionalProperties": false, "description": "Represents an individual line of a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" }, "JournalModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the journal. Provide when updating the record.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching journal record exists, otherwise create a new record\r\nMYOB : Update a matching record by DocNumber.\r\nQBO: Update a matching record by DocNumber.\r\nXero: Update a matching record by DocNumber.\r\nSage: N/A" }, "docNumber": { "type": "string", "description": "MYOB: DisplayID\r\nXero: Narration\r\nQBO: DocNumber\r\nSage: Reference", "nullable": true }, "line": { "type": "array", "items": { "$ref": "#/components/schemas/JournalLineModel" }, "description": "A collection of line information for the journal. See FinancialIntegration.Models.RequestModel.JournalLineModel for information.\r\nQBO: Line.\r\nXero: JournalLines.\r\nMYOB: Lines.\r\nSage: Journal_Lines.", "nullable": true }, "date": { "type": "string", "description": "MYOB: DateOccured\r\nXero: Date\r\nQBO: TxnDate\r\nSage: Date", "format": "date-time", "nullable": true }, "exchangeRate": { "type": "number", "description": "MYOB: CurrencyExchangeRate\r\nXero: N/A\r\nQBO: ExchangeRate\r\nSage: N/A", "format": "double", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the journal\r\nQBO: MetaData.CreateTime", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the journal\r\nQBO: MetaData.LastUpdatedTime", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals" }, "JournalModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/JournalModel" } ], "description": "Represents a GL Journal to be saved to or existing in the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry\r\nXero: https://developer.xero.com/documentation/api/accounting/manualjournals\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/generaljournal/\r\nSage: https://developer.sage.com/accounting/reference/accounting/#tag/Journals", "nullable": true } }, "additionalProperties": false }, "JournalModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/JournalModel" }, "nullable": true } }, "additionalProperties": false }, "JournalResponseModel": { "type": "object", "properties": { "id": { "type": "string", "description": "MYOB: UID\r\nXero: ManualJournalId\r\nQBO: Id", "nullable": true }, "syncToken": { "type": "string", "description": "MYOB: RowVersion\r\nXero: N/A\r\nQBO: SyncToken", "nullable": true }, "date": { "type": "string", "description": "MYOB: DateOccured\r\nXero: Date\r\nQBO: TxnDate", "format": "date-time", "nullable": true }, "docNumber": { "type": "string", "description": "MYOB : DisplayID\r\nXero : Narration\r\nQBO: DocNumber", "nullable": true } }, "additionalProperties": false, "description": "" }, "JournalResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/JournalResponseModel" } ], "description": "", "nullable": true } }, "additionalProperties": false }, "PaymentMethodModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the payment method. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.", "nullable": true }, "name": { "maxLength": 31, "type": "string", "description": "Name of the payment method. Max chars: 31.\r\nQBO: Name\r\nXero: N/A\r\nMYOB: N/A", "nullable": true }, "type": { "type": "string", "description": "Type of the payment method. Valid values include CREDIT_CARD or NON_CREDIT_CARD.\r\nQBO: Type\r\nXero: N/A\r\nMYOB: N/A", "nullable": true } }, "additionalProperties": false, "description": "Represents a Payment Method to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/paymentmethod" }, "PaymentMethodResponseModel": { "type": "object", "properties": { "paymentMethodId": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PaymentMethodResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/PaymentMethodResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "PaymentTermModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the term. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Payment Term record exists, otherwise create a new record.\r\nQBO: Update a matching record by Name." }, "termDay": { "type": "integer", "description": "(Days fiels for Xero)\r\nThe number of days or day of the month within which the customer has to pay invoices..", "format": "int32", "deprecated": true }, "itemChoice": { "type": "string", "description": "For QBO valid value should be one among DayOfMonthDue, DiscountDayOfMonth, DiscountDays, DueDays, DueNextMonthDays", "nullable": true, "deprecated": true }, "name": { "type": "string", "description": "(QBO related feild)\r\nUser recognizable name for the term.", "nullable": true }, "active": { "type": "boolean", "description": "Active for the Payment Term\r\nQBO: Active" }, "dueDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DueDays (Number of days from delivery of goods or services until the payment is due. Required if DayOfMonthDue not present)", "format": "int32", "nullable": true }, "dayOfMonthDue": { "type": "integer", "description": "(Range is 1 through 31 for QuickBooks)\r\nQBO: DayOfMonthDue (Payment must be received by this day of the month. Used only if DueDays is not specified. Required if DueDays not present)", "format": "int32", "nullable": true }, "discountPercent": { "type": "number", "description": "(Range is 0 through 100 for QuickBooks)\r\nQBO: Discount Percent (Discount percentage available against an amount if paid within the days specified by DiscountDays.)", "format": "double", "nullable": true }, "discountDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DiscountDays (the number of days or day of the month within which the customer must pay to receive discounts.)", "format": "int32", "nullable": true }, "discountDayOfMonth": { "type": "integer", "description": "(Range is 0 through 31 for QuickBooks)\r\nQBO: DiscountDayOfMonth (Discount applies if paid before this day of month. Required if DueDays not present.)", "format": "int32", "nullable": true }, "dueNextMonthDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DueNextMonthDays (Payment due next month if issued that many days before the DayOfMonthDue. Required if DueDays not present.)", "format": "int32", "nullable": true } }, "additionalProperties": false, "description": "Represents a Payment Term to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" }, "PaymentTermResponseModel": { "type": "object", "properties": { "paymentTermId": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PaymentTermResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/PaymentTermResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "SalesItemLineDetailModel": { "type": "object", "properties": { "qty": { "type": "number", "description": "(ShipQuantity for Myob)\r\nThe quantity of goods shipped.", "format": "double" }, "unitPrice": { "type": "number", "description": "Unit price assigned to the item.", "format": "double" }, "taxCodeRef": { "type": "string", "description": "(TaxCode for Myob)\r\nTax code", "nullable": true }, "itemRef": { "type": "string", "description": "(Item for Myob)\r\nDetails for an Item", "nullable": true }, "accountCode": { "type": "string", "description": "(Account for Myob)\r\nAccount Code.\r\nMax Chars : 10 (Xero: Max Chars - 10)", "nullable": true }, "itemAccountRef": { "type": "string", "description": "(QBO related field)\r\nIn MYOB maps with Account.UID", "nullable": true } }, "additionalProperties": false, "description": "Sale Item Detail Model" }, "StringAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SupplierModel": { "type": "object", "properties": { "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Supplier record exists, otherwise create a new record\r\nQBO: Update a matching record by DisplayName.\r\nXero: Update a matching record by DisplayName.\r\nSage: Update a matching record by Name." }, "billAddr": { "allOf": [ { "$ref": "#/components/schemas/AddressModel" } ], "description": "The Billing address", "nullable": true }, "fax": { "maxLength": 21, "type": "string", "description": "Fax number for the customer. Max chars: 21.\r\nQBO: Fax\r\nXero: Phones (phone type FAX)\r\nMYOB: Addresses.Fax (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Fax", "nullable": true }, "phoneOther": { "maxLength": 21, "type": "string", "description": "Alternate phone number for the customer. Max chars: 21.\r\nQBO: AlternatePhone\r\nXero: Phones (phone type DDI)\r\nMYOB: Addresses.Phone3 (for bill address if it exists, otherwise for ship address)", "nullable": true }, "acctNum": { "type": "string", "description": "Name or number of the account associated with this vendor.\r\nMax Chars : 100 (QBO: Max Chars - 100)\r\nSage: Reference", "nullable": true }, "webAddress": { "type": "string", "description": "Website address\r\nMax Chars : 255 (QBO: Max Chars - 1000, MYOB: Max Chars - 255)", "nullable": true }, "paymentTermRef": { "type": "string", "description": "The payment term ID\r\nSage: Credit_Terms", "nullable": true }, "currencyCode": { "type": "string", "description": "The currency code in which customer/vendor is dealing\r\nMax Chars : 16 (QBO: Max Chars - 16)\r\nSage: Currency_Id", "nullable": true }, "taxCodeRef": { "type": "string", "description": "The customer tax code\r\nSage: Default_Sales_Tax_Rate_Id\r\nQBO: DefaultTaxCodeRef", "nullable": true }, "freightTaxCodeRef": { "type": "string", "description": "MYOB field maps with FreightTaxCode.UID", "nullable": true }, "vendor1099": { "type": "boolean", "description": "This vendor is an independent contractor; someone who is given a 1099-MISC form at the end of the year. A 1099 vendor is paid with regular checks, and taxes are not withheld on their behalf." }, "taxIdentifier": { "type": "string", "description": "Tax identifier for the supplier.\r\nQBO: TaxIdentifier (The Tax ID of the Person or Organization.)\r\nXero: TaxNumber (The ABN (AU), GST Number (NZ), VAT Number (UK) or Tax ID Number (US/Global))\r\nMYOB: ABN (AU only - 11 digits and formatted as XX XXX XXX XXX) and TaxIdNumber\r\nSage: Tax_Number", "nullable": true }, "printOnCheckName": { "type": "string", "description": "Name to print on checks for the supplier.\r\nQBO: PrintOnCheckName (Max Chars - 100)", "nullable": true }, "id": { "type": "string", "description": "Unique id of the contact. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "companyName": { "type": "string", "description": "The name of the company associated with the person or organization. Max chars: 50.\r\nQBO: CompanyName\r\nXero: Name (used only when DisplayName is not provided)\r\nMYOB: CompanyName (also sets IsIndividual to false if provided)\r\nSage: Name", "nullable": true }, "phonePrimary": { "type": "string", "description": "Primary phone number for the contact. Max chars: 21.\r\nQBO: PrimaryPhone\r\nXero: Phones (phone type DEFAULT)\r\nMYOB: Addresses.Phone1 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Telephone", "nullable": true }, "phoneMobile": { "type": "string", "description": "Mobile phone number for the contact. Max chars: 21.\r\nQBO: Mobile\r\nXero: Phones (phone type MOBILE)\r\nMYOB: Addresses.Phone2 (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Mobile", "nullable": true }, "email": { "type": "string", "description": "Email address for the contact. Max chars: 100.\r\nQBO: PrimaryEmailAddr\r\nXero: EmailAddress (N/A for Employees)\r\nMYOB: Addresses.Email (for bill address if it exists, otherwise for ship address)\r\nSage: Main_Contact_Person.Email", "nullable": true }, "displayName": { "type": "string", "description": "Display name of the person or organization. Max chars: 255.\r\nQBO: DisplayName (Must be unique across all Customer, Vendor, and Employee objects)\r\nXero: Name (N/A for Employees)\r\nMYOB: CompanyName OR concatenated FirstName and LastName (read-only, ignored when saving)\r\nSage: Displayed_As (read-only, ignored when saving)", "nullable": true }, "firstName": { "type": "string", "description": "First name of the contact. Max chars: 20.\r\nQBO: GivenName\r\nXero: FirstName\r\nMYOB: FirstName\r\nSage: MainContactPerson.Name", "nullable": true }, "lastName": { "type": "string", "description": "Last name of the person. Max chars: 30.\r\nQBO: FamilyName\r\nXero: LastName\r\nMYOB: LastName\r\nSage: MainContactPerson.Name", "nullable": true }, "active": { "type": "boolean", "description": "IsActive for the contact\r\nQBO: Active\r\nXero: ContactStatus == Contact.ContactStatusEnum.ACTIVE\r\nMYOB: IsActive\r\nSage: is_active", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the contact\r\nQBO: MetaData.CreateTime\r\nXero: N/A\r\nMYOB: Created\r\nSage: created_at", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the contact\r\nQBO: MetaData.LastUpdatedTime\r\nXero: UpdatedDateUTC\r\nMYOB: LastModified\r\nSage: updated_at", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts" }, "SupplierModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/SupplierModel" } ], "description": "Represents a Supplier/Vendor to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor\r\nXero: https://developer.xero.com/documentation/api/accounting/contacts\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/contact/supplier/\r\nSage: https://developer.sage.com/accounting/reference/contacts/#tag/Contacts", "nullable": true } }, "additionalProperties": false }, "SupplierModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/SupplierModel" }, "nullable": true } }, "additionalProperties": false }, "TaxAgencyModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the tax agency. Provide when updating the record.", "nullable": true }, "displayName": { "type": "string", "description": "Agency Name", "nullable": true }, "taxTrackedOnSales": { "type": "boolean", "description": "" }, "taxTrackedOnPurchases": { "type": "boolean", "description": "" } }, "additionalProperties": false, "description": "Represents a Tax Agency to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency" }, "TaxAgencyResponseModel": { "type": "object", "properties": { "taxAgencyId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TaxAgencyResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/TaxAgencyResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "TaxCodeResponseModel": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "taxRates": { "type": "array", "items": { "$ref": "#/components/schemas/TaxRateResponse" }, "nullable": true }, "active": { "type": "boolean" }, "syncToken": { "type": "string", "nullable": true }, "createDateTime": { "type": "string", "description": "The create date and time for the Tax Code.\r\nQBO: MetaData.CreateTime\r\nMYOB: Created\r\nXero: N/A\r\nSage: N/A", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "The modify date and time for the Tax Code.\r\nQBO: MetaData.LastUpdatedTime\r\nMYOB: LastModified\r\nXero: N/A\r\nSAGE: N/A", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "TaxCodeResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/TaxCodeResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "TaxCodeResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/TaxCodeResponseModel" }, "nullable": true } }, "additionalProperties": false }, "TaxRateDetailModel": { "type": "object", "properties": { "taxRateName": { "type": "string", "description": "Tax Rate Name\r\nQBO: TaxRateDetails.TaxRateName\r\nXero: TaxComponents.Name\r\nMYOB: N/A\r\nSage: Component_Tax_Rate.Name", "nullable": true }, "rateValue": { "type": "number", "description": "Tax Rate Value\r\nQBO: TaxRateDetails.RateValue\r\nXero: TaxComponents.Rate\r\nMYOB: Rate\r\nSage: Component_Tax_Rate.Percentage", "format": "double" }, "taxAgencyId": { "type": "string", "description": "Tax Agency ID\r\nQBO: TaxRateDetails.TaxAgencyId\r\nXero: N/A\r\nMYOB: N/A\r\nSage: Component_Tax_Rate.Agency", "nullable": true }, "taxType": { "type": "string", "description": "Type specifying in which situations the tax applies.\r\nQBO: TaxRateDetails.TaxApplicableOn\r\nXero: TaxType\r\nMYOB: Type\r\nSage: N/A", "nullable": true } }, "additionalProperties": false, "description": "Represents a tax rate associated with a tax code.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" }, "TaxRateResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for the Tax Rate.", "nullable": true }, "name": { "type": "string", "description": "The name of the Tax Rate.", "nullable": true }, "rateValue": { "type": "number", "description": "The value of the Tax Rate.", "format": "double" }, "active": { "type": "boolean", "description": "Indicates whether the Tax Rate is active." }, "applyOnSales": { "type": "boolean", "description": "Indicates whether the Tax Rate applies on sales." }, "applyOnPurchases": { "type": "boolean", "description": "Indicates whether the Tax Rate applies on purchases." } }, "additionalProperties": false }, "TaxRateResponseModel": { "type": "object", "properties": { "taxRateName": { "type": "string", "description": "Taxrate Name", "nullable": true }, "taxRateId": { "type": "string", "description": "TaxRateId", "nullable": true } }, "additionalProperties": false }, "TaxResponseModel": { "type": "object", "properties": { "taxCodeId": { "type": "string", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken representing the version of the record.", "nullable": true }, "taxRates": { "type": "array", "items": { "$ref": "#/components/schemas/TaxRateResponseModel" }, "nullable": true } }, "additionalProperties": false }, "TaxResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/TaxResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "TaxServiceModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the tax code. Provide when updating the record.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Tax Code record exists, otherwise create a new record\r\nQBO: Update a matching record by TaxCode.\r\nXero: Update a matching record by TaxCode.\r\nMYOB: Update a matching record by TaxCode.\r\nSage: N/A" }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "taxCode": { "type": "string", "description": "Tax Code.\r\nQBO: TaxCode\r\nXero: Name\r\nMYOB: Code\r\nSage: Name", "nullable": true }, "taxRateDetails": { "type": "array", "items": { "$ref": "#/components/schemas/TaxRateDetailModel" }, "description": "Details of one or more tax rates assigned to the tax code.\r\nQBO: See TaxRateDetailModel for information.\r\nXero: See TaxRateDetailModel for information.\r\nMYOB: See TaxRateDetailModel for information. Only the first record in this array will be used.\r\nSage: Component_Tax_Rate (See TaxRateDetailModel for information.)", "nullable": true } }, "additionalProperties": false, "description": "Represents a Tax Code and Rate(s) to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxservice\r\nXero: https://developer.xero.com/documentation/api/accounting/taxrates\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/generalledger/taxcode/\r\nSage: https://developer.sage.com/accounting/reference/taxes/#tag/Tax-Rates/operation/postTaxRates" }, "TermResponseModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the term.", "nullable": true }, "name": { "type": "string", "description": "User recognizable name for the term.", "nullable": true }, "description": { "type": "string", "description": "Description for the term.", "nullable": true }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record.", "nullable": true }, "active": { "type": "boolean", "description": "Active for the Payment Term\r\nQBO: Active" }, "dueDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DueDays (Number of days from delivery of goods or services until the payment is due. Required if DayOfMonthDue not present)", "format": "int32", "nullable": true }, "dayOfMonthDue": { "type": "integer", "description": "(Range is 1 through 31 for QuickBooks)\r\nQBO: DayOfMonthDue (Payment must be received by this day of the month. Used only if DueDays is not specified. Required if DueDays not present)", "format": "int32", "nullable": true }, "discountPercent": { "type": "number", "description": "(Range is 0 through 100 for QuickBooks)\r\nQBO: Discount Percent (Discount percentage available against an amount if paid within the days specified by DiscountDays.)", "format": "double", "nullable": true }, "discountDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DiscountDays (the number of days or day of the month within which the customer must pay to receive discounts.)", "format": "int32", "nullable": true }, "discountDayOfMonth": { "type": "integer", "description": "(Range is 0 through 31 for QuickBooks)\r\nQBO: DiscountDayOfMonth (Discount applies if paid before this day of month. Required if DueDays not present.)", "format": "int32", "nullable": true }, "dueNextMonthDays": { "type": "integer", "description": "(Range is 0 through 999 for QuickBooks)\r\nQBO: DueNextMonthDays (Payment due next month if issued that many days before the DayOfMonthDue. Required if DueDays not present.)", "format": "int32", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the contact\r\nQBO: MetaData.CreateTime", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the contact\r\nQBO: MetaData.LastUpdatedTime", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "QBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term" }, "TermResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/TermResponseModel" } ], "description": "QBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/term", "nullable": true } }, "additionalProperties": false }, "TermResponseModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/TermResponseModel" }, "nullable": true } }, "additionalProperties": false }, "TimeActivityBatchModel": { "required": [ "employeeRef", "timeActivities" ], "type": "object", "properties": { "employeeRef": { "minLength": 1, "type": "string", "description": "The employee whose time is being recorded." }, "timeActivities": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/TimeActivityEmployeeBatchModel" }, "description": "The employee's time activities" } }, "additionalProperties": false, "description": "Time activity Model" }, "TimeActivityEmployeeBatchModel": { "type": "object", "properties": { "employeePayRateRef": { "type": "string", "description": "Specifies the employee pay rate for the time activity.", "nullable": true }, "hours": { "type": "number", "description": "Hours and minutes worked.", "format": "double", "nullable": true }, "transactionDate": { "type": "string", "description": "The date for the time activity. This is the posting date that affects financial statements. If the date is not supplied, the current date on the server is used.", "format": "date-time", "nullable": true }, "description": { "type": "string", "description": "Description of work completed during time activity.", "nullable": true } }, "additionalProperties": false, "description": "Employee Time Activity Batch Model" }, "TimeActivityModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the time activity. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "employeeRef": { "type": "string", "description": "Specifies the employee whose time is being recorded.", "nullable": true }, "employeePayRateRef": { "type": "string", "description": "Specifies the employee pay rate for the time activity.", "nullable": true }, "hours": { "type": "number", "description": "Hours and minutes worked.", "format": "double", "nullable": true }, "transactionDate": { "type": "string", "description": "The date for the time activity. This is the posting date that affects financial statements. If the date is not supplied, the current date on the server is used.", "format": "date-time", "nullable": true }, "description": { "type": "string", "description": "Description of work completed during time activity.", "nullable": true } }, "additionalProperties": false, "description": "Represents an employee Time Activity to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/timeactivity\r\nXero: https://developer.xero.com/documentation/api/accounting/invoices\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/" }, "TimeActivityResponseModel": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "employeeRef": { "type": "string", "nullable": true }, "transactionDate": { "type": "string", "format": "date-time" }, "description": { "type": "string", "nullable": true }, "status": { "type": "string", "nullable": true }, "hours": { "type": "number", "format": "double", "nullable": true }, "syncToken": { "type": "string", "nullable": true }, "createDateTime": { "type": "string", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "TimeActivityResponseModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/TimeActivityResponseModel" } ], "nullable": true } }, "additionalProperties": false }, "ValidationError": { "type": "object", "properties": { "Field": { "type": "string", "nullable": true }, "Message": { "type": "string", "nullable": true }, "ErrorCode": { "type": "string", "nullable": true }, "Detail": { "type": "string", "nullable": true } }, "additionalProperties": false }, "VendorCreditLineModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the line.\r\nQBO: DetailType (Should always be either ItemBasedExpenseLineDetail or AccountBasedExpenseLineDetail based on which detail property is provided)\r\nXero: N/A\r\nMYOB: N/A", "nullable": true, "deprecated": true }, "description": { "type": "string", "description": "Description for the vendor credit line. Max chars: 255.\r\nSage: Credit_Note_Lines.Description", "nullable": true }, "amount": { "type": "number", "description": "Total amount of the line item.\r\nQBO: Amount\r\nXero: \r\nSage: Total_Amount", "format": "double", "nullable": true }, "itemBasedExpenseLineDetail": { "allOf": [ { "$ref": "#/components/schemas/ItemBasedExpenseLineDetailModel" } ], "description": "Details for item purchases from a vendor.", "nullable": true }, "accountBasedExpenseLineDetail": { "allOf": [ { "$ref": "#/components/schemas/AccountBasedExpenseLineDetailModel" } ], "description": "Details for non-item purchases from a vendor.", "nullable": true } }, "additionalProperties": false, "description": "THIS CLASS IS BEING USED TO HAVE LINE ITEM OF INVOICE" }, "VendorCreditModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique id of the vendor credit. Provide when updating the record.", "nullable": true }, "override": { "type": "boolean", "description": "Set to true to force an update to the record regardless of version conflict. SyncToken is not required if Override is true." }, "syncToken": { "type": "string", "description": "SyncToken to ensure updating the latest version of the record. Used for updating with QBO and MYOB.", "nullable": true }, "upsert": { "type": "boolean", "description": "When no unique Id is provided, allow updating if a matching Vendor Credit record exists, otherwise create a new record\r\nQBO: Update a matching record by DocNumber.\r\nXero: Update a matching record by DocNumber.\r\nMYOB: Update a matching record by DocNumber.\r\nSage: Update a matching record by DocNumber." }, "vendorRef": { "type": "string", "description": "The unique id of the vendor from which this credit is applied.\r\nQBO: VendorRef\r\nXero: Contact.ContactID\r\nMYOB: Supplier.UID\r\nSage: Contact_Id", "nullable": true }, "line": { "type": "array", "items": { "$ref": "#/components/schemas/VendorCreditLineModel" }, "description": "An array of line invoice information", "nullable": true }, "docNumber": { "type": "string", "description": "Reference number for the transaction.\r\nQBO: DocNumber\r\nXero: CreditNoteNumber\r\nMYOB: Number\r\nSage: Reference", "nullable": true }, "currencyCode": { "type": "string", "description": "QBO: Reference to the currency in which all amounts on the associated transaction are expressed\r\nSage: Currency_Id", "nullable": true }, "baseCurrency": { "type": "string", "description": "Misc. field to determine if Currency code is home currency or foreign currency\r\nSage: Currency.Id (Read only)", "nullable": true }, "type": { "type": "string", "description": "Type of vendor credit.", "nullable": true, "deprecated": true }, "depositTo": { "type": "string", "description": "MYOB field \"Deposit To Account Name\"\r\nSage: Contact.Bank_Account_Details.Account_Number (Read only)", "nullable": true }, "accountRef": { "type": "string", "description": "QBO: Specifies to which AP account the bill is credited", "nullable": true }, "billRef": { "type": "string", "description": "MYOB field \"Accounting System stored ID for Original Bill\"", "nullable": true }, "privateNote": { "type": "string", "description": "Private note for the transaction. This note does not appear externally outside the organization.\r\nSage: Notes", "nullable": true }, "txnDate": { "type": "string", "description": "MYOB field maps to date\r\nSage: Date", "format": "date-time", "nullable": true }, "amount": { "type": "number", "description": "MYOB field \"Vendor Credit Total\"\r\nSage: TotalAmount", "format": "double" }, "status": { "type": "string", "description": "The status of the vendor credit.\r\nQBO: Status - Valid values: Deleted\r\nXero: Status - Valid values: DRAFT, SUBMITTED, DELETED, AUTHORISED, PAID, and VOIDED \r\nMYOB: Status - Valid values: Unknown, Open, Closed, Debit\r\nSAGE: Status.Id - Valid values: UNPAID, PART_PAID, PAID, VOID, DRAFT, DISPUTED, DECLINED or PRO_FORMA", "nullable": true }, "createDateTime": { "type": "string", "description": "CreateDateTime for the vendor credit\r\nQBO: MetaData.CreateTime", "format": "date-time", "nullable": true }, "modifyDateTime": { "type": "string", "description": "ModifyDateTime for the vendor credit\r\nQBO: MetaData.LastUpdatedTime", "format": "date-time", "nullable": true }, "showTaxInclusiveAmounts": { "type": "boolean", "description": "Indicates whether to display amounts on the vendor credit with tax included or not.\r\nQBO: GlobalTaxCalculation (true -> TaxInclusive, false -> TaxExcluded, null -> NotApplicable)", "nullable": true } }, "additionalProperties": false, "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes" }, "VendorCreditModelAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "allOf": [ { "$ref": "#/components/schemas/VendorCreditModel" } ], "description": "Represents a Vendor Credit to be saved to the financial system.\r\nQBO: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit\r\nXero: https://developer.xero.com/documentation/api/accounting/creditnotes\r\nMYOB: https://developer.myob.com/api/myob-business-api/v2/purchase/bill/bill_item/\r\n OR https://developer.myob.com/api/myob-business-api/v2/purchase/debit_refund/\r\nSage: https://developer.sage.com/accounting/reference/invoicing-purchases/#tag/Purchase-Credit-Notes", "nullable": true } }, "additionalProperties": false }, "VendorCreditModelListAPIResponse": { "type": "object", "properties": { "Version": { "type": "string", "nullable": true }, "StatusCode": { "type": "integer", "format": "int32" }, "Message": { "type": "string", "nullable": true }, "ResponseException": { "allOf": [ { "$ref": "#/components/schemas/ApiError" } ], "nullable": true }, "Result": { "type": "array", "items": { "$ref": "#/components/schemas/VendorCreditModel" }, "nullable": true } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "oauth2", "description": "Use the Authentication API OAuth endpoints", "flows": { "clientCredentials": { "tokenUrl": "https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token", "scopes": { "openid": "openid" } } } } } }, "security": [ { "Bearer": [ ] } ] }