Introduction

  • SCHEMAS

  • Invoices

    Journal Entries

    Profit and Loss Detail Report

    Projects

    Bills

    Vendors

    Customers

    Credit Notes

    Accounts

    Items

    Bank Accounts

Introduction

A single schema to push and pull Accounting data across connectors.


Supported Connectors

Live

FreshBooks

NetSuite

QuickBooks

Sage Intacct

Xero

Zoho Books

Beta

logo for MYOB

MYOB

logo for Microsoft Dynamics 365 Finance

Microsoft Dynamics 365 Finance

Accounts

Accounts are what businesses use to track transactions.

Properties


id

string


name

string


type

string


active

boolean


category

string


currency

string


createdAt

string


updatedAt

string


description

string


accountNumber

string


Example

COPY TO CLIPBOARD
{
  "id": "bd9e85e0-0478-433d-ae9f-0b3c4f04bfe4",
  "name": "Revenue - Subscriptions",
  "type": "incomestatement",
  "active": true,
  "category": "Revenue - Subscriptions",
  "currency": "USD",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "description": "",
  "accountNumber": "41000"
}

Bank Accounts

Provides the relevant information for a bank account.

Properties


id

string


name

string


type

string


active

boolean


currency

string


createdAt

string


updatedAt

string


description

string


accountNumber

string


Example

COPY TO CLIPBOARD
{
  "id": "3302926931",
  "name": "Silicon Valley Bank",
  "type": "checking",
  "active": true,
  "currency": "USD",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "description": "",
  "accountNumber": "10160"
}

Bills

Properties


id

string


status

string


address

object

id

string


city

string


name

string


line1

string


line2

string


line3

string


state

string


country

string


postalCode

string



dueDate

string


currency

string


paidDate

string


subTotal

number


amountDue

number


createdAt

string


issueDate

string


lineItems

object [ ]

taxCode

string


quantity

number


className

string


productId

string


taxAmount

number


unitPrice

number


productSku

string


totalPrice

number


accountName

string


description

string


productName

string


projectName

string


discountAmount

number



updatedAt

string


vendorNum

string


vendorName

string


description

string


totalAmount

number


invoiceNumber

string


totalDiscount

number


totalTaxAmount

number


Example

COPY TO CLIPBOARD
{
  "id": "string",
  "status": "string",
  "address": {
    "id": "string",
    "city": "string",
    "name": "string",
    "line1": "string",
    "line2": "string",
    "line3": "string",
    "state": "string",
    "country": "string",
    "postalCode": "string"
  },
  "dueDate": "2019-08-24T14:15:22Z",
  "currency": "string",
  "paidDate": "2019-08-24T14:15:22Z",
  "subTotal": 0,
  "amountDue": 0,
  "createdAt": "2019-08-24T14:15:22Z",
  "issueDate": "2019-08-24T14:15:22Z",
  "lineItems": [
    {
      "taxCode": "string",
      "quantity": 0,
      "productId": "string",
      "taxAmount": 0,
      "unitPrice": 0,
      "productSku": "string",
      "totalPrice": 0,
      "accountName": "string",
      "description": "string",
      "productName": "string",
      "discountAmount": 0
    }
  ],
  "updatedAt": "2019-08-24T14:15:22Z",
  "vendorNum": "string",
  "vendorName": "string",
  "totalAmount": 0,
  "invoiceNumber": "string",
  "totalDiscount": 0,
  "totalTaxAmount": 0
}

Credit Notes

A Credit Note is a financial transaction representing a refund or credit of payment or part of a payment for goods or services that have been sold.

Properties


id

string


note

string

Any additional information about the credit note.


status

string

Draft, Submitted, Paid, PartiallyPaid, Void, Unknown


currency

string

Currency of the credit note.


subTotal

number

Value of the credit note, including discounts and excluding tax.


issueDate

string

Date of the credit note as recorded in the accounting system.


lineItems

string


customerRef

any


totalAmount

number

Total amount of credit that has been applied to the customer's accounts receivable.


currencyRate

string


modifiedDate

string

Date the record was last changed in the accounting system.


totalDiscount

number

Any discounts applied to the credit note amount.


totalTaxAmount

number

Any tax applied to the credit note amount.


allocatedOnDate

string

Date on which the credit note was fully allocated.


remainingCredit

number

Unused balance of totalAmount originally raised.


creditNoteNumber

string

Friendly reference for the credit note.


discountPercentage

number


paymentAllocations

string


Example

COPY TO CLIPBOARD
{
  "id": "string",
  "note": "string",
  "status": "string",
  "currency": "string",
  "subTotal": 0,
  "issueDate": "2019-08-24T14:15:22Z",
  "lineItems": "string",
  "customerRef": {
    "id": "71",
    "active": true,
    "addresses": [
      {
        "id": "123",
        "city": "San Francisco",
        "line1": "Main street",
        "line2": "apt #",
        "line3": "Suite #",
        "state": "CA",
        "country": "US",
        "postalCode": "94104"
      }
    ],
    "createdAt": "2017-08-12T20:43:21.291Z",
    "updatedAt": "2017-08-12T20:43:21.291Z",
    "contactName": "Tony Stark",
    "customerName": "Stark Industries",
    "emailAddress": "tony@starkindustries.com",
    "phoneNumbers": [
      {
        "type": "mobile",
        "number": "111-111-1111"
      }
    ]
  },
  "totalAmount": 0,
  "currencyRate": "string",
  "modifiedDate": "2019-08-24T14:15:22Z",
  "totalDiscount": 0,
  "totalTaxAmount": 0,
  "allocatedOnDate": "2019-08-24T14:15:22Z",
  "remainingCredit": 0,
  "creditNoteNumber": "string",
  "discountPercentage": 0,
  "paymentAllocations": "string"
}

Customers

A customer is a consumer of the service or product that your business offers.

Properties


id

string


active

boolean


addresses

object [ ]

id

string


city

string


line1

string


line2

string


line3

string


state

string


country

string


postalCode

string



createdAt

string


updatedAt

string


contactName

string

Name of the main contact for the identified customer.


customerName

string

Name of the customer as recorded in the accounting system, typically the company name.


emailAddress

string

Email address the customer can be contacted by.


phoneNumbers

object [ ]

Phone number the customer can be contacted by.

type

string


number

string



Example

COPY TO CLIPBOARD
{
  "id": "71",
  "active": true,
  "addresses": [
    {
      "id": "123",
      "city": "San Francisco",
      "line1": "Main street",
      "line2": "apt #",
      "line3": "Suite #",
      "state": "CA",
      "country": "US",
      "postalCode": "94104"
    }
  ],
  "createdAt": "2017-08-12T20:43:21.291Z",
  "updatedAt": "2017-08-12T20:43:21.291Z",
  "contactName": "Tony Stark",
  "customerName": "Stark Industries",
  "emailAddress": "tony@starkindustries.com",
  "phoneNumbers": [
    {
      "type": "mobile",
      "number": "111-111-1111"
    }
  ]
}

Invoices

An Invoice represents a sales form where the customer pays for a product or service later.

Properties


id

string


status

string

Draft, Submitted, Partially Paid, Paid, or Void


address

object

id

string


city

string


line1

string


line2

string


line3

string


state

string


country

string


postalCode

string



dueDate

string

Date the customer is due to be paid by.


currency

string


location

string

Name of the physical location of this transaction. Required for NetSuite.


paidDate

string

Date the invoice was marked as paid in the accounting system.


subTotal

number

Total amount of the invoice excluding any taxes.


amountDue

number

Amount outstanding on the invoice.


createdAt

string


issueDate

string

Date of the invoice as recorded in the accounting system.


lineItems

InvoiceLines [ ]

id

string


taxCode

string

Name of tax code to use for this item. Required by some systems/countries.


quantity

number

Number of units of goods or services provided.


productId

string


taxAmount

number

Amount of tax for the line.


unitPrice

number

Price of each unit of goods or services.


totalPrice

number

Numerical value of any discounts applied.


accountName

string


description

string

Friendly name of the goods or services provided.


productName

string


discountAmount

number

Amount of the line, inclusive of discounts but exclusive of tax.



updatedAt

string

Date the record was last changed in the accounting system.


customerId

string


subsidiary

string

The name of the legal entity for this transaction. Only supported for NetSuite.


totalAmount

number

Amount of the invoice, inclusive of tax.


customerName

string


invoiceNumber

string


totalDiscount

number

Numerical value of discounts applied to the invoice.


Example

COPY TO CLIPBOARD
{
  "id": "6f3c9546-1ca9-11ed-861d-0242ac120002",
  "status": "Draft",
  "address": {
    "id": "78391098-1ca9-11ed-861d-0242ac120002",
    "city": "Redmond",
    "line1": "One Microsoft Way",
    "line2": "",
    "line3": "",
    "state": "WA",
    "country": "USA",
    "postalCode": "98052"
  },
  "dueDate": "2022-08-08T22:40:50Z",
  "currency": "USD",
  "paidDate": null,
  "subTotal": 21.8,
  "amountDue": 21.8,
  "createdAt": "2022-08-01T22:40:50Z",
  "issueDate": "2022-08-01T22:40:50Z",
  "lineItems": [
    {
      "id": "69fff8fc-1ca9-11ed-861d-0242ac120002",
      "quantity": 5,
      "productId": "72f94e9a-1ca9-11ed-861d-0242ac120002",
      "taxAmount": 1.8,
      "unitPrice": 6,
      "totalPrice": 30,
      "accountName": "Produce",
      "description": "Organic Bananas",
      "productName": "Banana",
      "discountAmount": 10
    }
  ],
  "updatedAt": "2022-08-01T22:40:50Z",
  "customerId": "64c63216-1ca9-11ed-861d-0242ac120002",
  "totalAmount": 30,
  "customerName": "Gates Foundation",
  "invoiceNumber": "001",
  "totalDiscount": 10,
  "totalTaxAmount": 1.8
}

Items

An item is a thing that your company buys, sells, or re-sells, such as products and services. An item is shown as a line on an invoice or other sales form.

Properties


id

string


code

string

Friendly reference for the item.


name

string

Name of the item in the accounting platform.


type

string

Type of the item


active

boolean


billItem

object

Item details that are only for bills.

accountId

string


unitPrice

number


description

string



category

string


createdAt

string

Date when item was created


updatedAt

string

Date when the record was last updated in the accounting platform.


isBillItem

boolean

Whether you can use this item for bills.


invoiceItem

object

Item details that are only for invoices.

accountId

string


unitPrice

number


description

string



isInvoiceItem

boolean

Whether you can use this item for invoices.


Example

COPY TO CLIPBOARD
{
  "id": "1",
  "code": "CCD",
  "name": "Concrete",
  "type": "Inventory",
  "active": true,
  "billItem": {
    "accountId": "123",
    "unitPrice": 10,
    "description": "Concrete for fountain installation"
  },
  "category": "Landscaping",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "isBillItem": true,
  "invoiceItem": {
    "accountId": "321",
    "unitPrice": 15,
    "description": "Concrete for fountain installation"
  },
  "isInvoiceItem": true
}

Journal Entries

A Journal Entry is a transaction in which there are at least one pair of lines, a debit and a credit, called distribution lines.

Properties


id

string


lines

JournalLines [ ]

amount

number

Amount (always positive)


className

string

Class Name


accountName

string

Account Name


description

string

Description


postingType

string

Debit or Credit


customerName

string

Customer Name


accountNumber

string

Account Number



currency

string

Currency code (e.g. USD)


transactionDate

string

Date on which the journal entry was posted to the accounting platform, and had an impact on the general ledger. This may be different from the creation date.


Example

COPY TO CLIPBOARD
{
  "id": "053122 Rev_Rec USD 1",
  "lines": [
    {
      "amount": 31240.5896,
      "className": "",
      "accountName": "Deferred Revenue",
      "description": "202205 Revenue Recognition - Accenture",
      "postingType": "Debit",
      "customerName": "Accenture",
      "accountNumber": "2400"
    },
    {
      "amount": 1001.2453,
      "className": "",
      "accountName": "Recurring",
      "description": "202205 Revenue Recognition - Accenture",
      "postingType": "Credit",
      "customerName": "Accenture",
      "accountNumber": "4100"
    },
    {
      "amount": 30239.3443,
      "className": "",
      "accountName": "Non-Recurring",
      "description": "202205 Revenue Recognition - Accenture",
      "postingType": "Credit",
      "customerName": "Accenture",
      "accountNumber": "4200"
    }
  ],
  "currency": "USD",
  "transactionDate": "5/31/2022"
}

Profit and Loss Detail Report

Profit and loss (P&L) statement is a financial statement that summarizes the revenues, costs, and expenses incurred during a specified period.

Properties


id

string

Unique id of the transaction


Num

string

Account Number


Date

string

Date of transaction


Memo

string

Description of the transaction


Name

string

Name of the associated entity on this transaction. Usually a customer or a vendor


Class

string

Class name on this transaction


Split

string

Account for this transaction


Amount

number

Transaction Amount


Categories

string [ ]

Fully qualified account name / hierarchy of this transaction


Department

string

Typically a division of a subsidiary


CompanyName

string

Name of the company this transaction is for (usually only relevant in multi-company ERPs)


entity_name

string

Name of the entity associated with this transaction


entity_type

string

Type of entity associated with this transaction. Usually "Customer" or "Vendor"


TransactionType

string

Type of transaction: Journal Entry, Invoice, Credit Memo, etc.


Example

COPY TO CLIPBOARD
{
  "id": "2608_1",
  "Num": "62100",
  "Date": "2019-08-24",
  "Memo": "JE per Annie from EY 2020 Audit",
  "Name": "",
  "Class": "",
  "Split": "JE per Annie from EY 2020 Audit",
  "Amount": 7867.1,
  "Categories": [
    "Expense",
    "62044 Allocated Overhead : Rent Payments",
    "62044 Rent Payments"
  ],
  "Department": "People",
  "CompanyName": "ACME, Corp",
  "entity_name": "",
  "entity_type": "",
  "TransactionType": "Journal Entry"
}

Projects

Properties


id

string


name

string


type

string


active

boolean


endDate

string


category

string


currency

string


className

string


createdAt

string


startDate

string


updatedAt

string


customerId

string


locationId

string


description

string


customerName

string


departmentId

string


locationName

string


departmentName

string


Example

COPY TO CLIPBOARD
{
  "id": "string",
  "name": "string",
  "type": "string",
  "active": true,
  "endDate": "2019-08-24T14:15:22Z",
  "category": "string",
  "currency": "string",
  "className": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "startDate": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "customerId": "string",
  "locationId": "string",
  "description": "string",
  "customerName": "string",
  "departmentId": "string",
  "locationName": "string",
  "departmentName": "string"
}

Vendors

Properties


id

string


active

boolean


currency

string


addresses

object [ ]

id

string


city

string


line1

string


line2

string


line3

string


state

string


country

string


postalCode

string



createdAt

string


updatedAt

string


vendorName

string


contactName

string


emailAddress

string


phoneNumbers

object [ ]

type

string


number

string



Example

COPY TO CLIPBOARD
{
  "id": "string",
  "active": true,
  "currency": "string",
  "addresses": [
    {}
  ],
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "vendorName": "string",
  "contactName": "string",
  "emailAddress": "string",
  "phoneNumbers": [
    {}
  ]
}