Kashoo API Documentation

Data

  • Default Namespace
  • XML Schema File: ns0.xsd

The data in this namespace is divided into elements and types. Types define the structure of the data. Elements define specific instances of the types, and are therefore more relevant to REST endpoints, which generally consume and/or produce elements.

The following elements are members of this namespace:

The following types are members of this namespace:

Element account

Example XML

<?xml version="1.0" encoding="UTF-8"?> <account id="..." standardTerms="..." readOnly="..." description="..." name="..." removed="..." number="..." type="..." openDate="..." business="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </account>

Example JSON

{ "id" : ..., "standardTerms" : "...", "readOnly" : false, "description" : "...", "name" : "...", "removed" : false, "number" : "...", "type" : { "numbersEnd" : ..., "numbersStart" : ... }, "openDate" : "...", "business" : ..., "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element adjustment

A single line in a manualAdjustment record.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <adjustment amount="..." id="..." account="..." note="..." currency="..." />

Example JSON

{ "amount" : ..., "id" : ..., "account" : ..., "note" : "...", "currency" : "..." }

Element appStore

Example XML

<?xml version="1.0" encoding="UTF-8"?> <appStore addBusinessRestricted="..." description="..." apiSecret="..." changePasswordDisabled="..." apiKey="..." id="..." name="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </appStore>

Example JSON

{ "addBusinessRestricted" : false, "description" : "...", "apiSecret" : "...", "changePasswordDisabled" : false, "apiKey" : "...", "id" : ..., "name" : "...", "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element appStoreSubscription

An appStoreSubscription relates a user to a business, including app store specific metadata. Because different app stores have different handling for access control, adding businesses, managing passwords & identity, and so on, this subscription may be interpreted differently depending on the app store that provisioned it. Some app stores map support only a one to one mapping from user to business and allow that user to share the business with others using our built-in access control panel. Other app stores manage all access control within the app store's own system and thus send access control updates to the system and the built-in access control UI is disabled. In those cases the app store provides an identifier for the business as part of the provisioning operation, and newly provisioned users whose app store business ID match an older one will be associated with the same business and put on the ACL list as appropriate.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <appStoreSubscription> <appStoreAssignedRole> <!--content of type 'role'--> ... </appStoreAssignedRole> <appStoreBusinessId> <!--content of type 'string'--> ... </appStoreBusinessId> <appStoreSubscriptionId> <!--content of type 'string'--> ... </appStoreSubscriptionId> <appStoreUserId> <!--content of type 'string'--> ... </appStoreUserId> <business> <!--content of type 'long'--> ... </business> <cancelled> <!--content of type 'dateTime'--> ... </cancelled> <created> <!--content of type 'dateTime'--> ... </created> <id> <!--content of type 'long'--> ... </id> <testAccount> <!--content of type 'boolean'--> ... </testAccount> <user> <!--content of type 'long'--> ... </user> </appStoreSubscription>

Example JSON

{ "appStoreAssignedRole" : { }, "appStoreBusinessId" : "...", "appStoreSubscriptionId" : "...", "appStoreUserId" : "...", "business" : ..., "cancelled" : "...", "created" : "...", "id" : ..., "testAccount" : false, "user" : ... }

Element appStoreSummary

Example XML

<?xml version="1.0" encoding="UTF-8"?> <appStoreSummary id="..." name="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </appStoreSummary>

Example JSON

{ "id" : ..., "name" : "...", "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element attachment

Example XML

<?xml version="1.0" encoding="UTF-8"?> <attachment timestamp="..." id="..." publicAccess="..." complete="..." name="..." contentType="..." contentLength="..." business="..." characterEncoding="..." uploaderName="..."> <initialData> <!--content of type 'base64Binary'--> ... </initialData> </attachment>

Example JSON

{ "timestamp" : "...", "id" : ..., "publicAccess" : false, "complete" : false, "name" : "...", "contentType" : "...", "contentLength" : ..., "business" : ..., "characterEncoding" : "...", "uploaderName" : "...", "initialData" : "..." }

Element authToken

An AuthToken is used, in general, to allow clients to authenticate themselves without a user's password. The AuthToken can also be converted into a "string" that represents the auth token in certain requests to the server. For example, if you wanted to create a URL that has an auth token on it, the string representation returned by a server call is shorter and easier to put on the URL than a JSON or XML representation.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <authToken site="..." restriction="..." expiryDate="..." locale="..." authenticationCode="..." myUserId="..." />

Example JSON

{ "site" : "...", "restriction" : "...", "expiryDate" : "...", "locale" : "...", "authenticationCode" : "...", "myUserId" : ... }

Element automaticMessage

Example XML

<?xml version="1.0" encoding="UTF-8"?> <automaticMessage id="..." startDate="..." days="..." plan="..." plainMessage="..." subject="..." active="..." removed="..." dateReference="..." htmlMessage="..." />

Example JSON

{ "id" : ..., "startDate" : "...", "days" : ..., "plan" : ..., "plainMessage" : "...", "subject" : "...", "active" : false, "removed" : false, "dateReference" : { }, "htmlMessage" : "..." }

Element availablePaymentMethod

Result type for BooksService.getAvailablePaymentMethods().

Example XML

<?xml version="1.0" encoding="UTF-8"?> <availablePaymentMethod processorMerchantId="..." processorName="..." processor="..." paymentMethod="..." />

Example JSON

{ "processorMerchantId" : "...", "processorName" : "...", "processor" : ..., "paymentMethod" : { } }

Element balance

Example XML

<?xml version="1.0" encoding="UTF-8"?> <balance amount="..." account="..." currency="..." />

Example JSON

{ "amount" : ..., "account" : ..., "currency" : "..." }

Element bankReconciliation

Example XML

<?xml version="1.0" encoding="UTF-8"?> <bankReconciliation id="..." statementDate="..." account="..." removed="..." date="..." comment="..." business="..." currency="..." />

Example JSON

{ "id" : ..., "statementDate" : "...", "account" : ..., "removed" : false, "date" : "...", "comment" : "...", "business" : ..., "currency" : "..." }

Element bankStatementRow

Example XML

<?xml version="1.0" encoding="UTF-8"?> <bankStatementRow journalEntry="..." date="..." row="..." currency="..." id="..." amount="..." bankTransactionId="..." balance="..." removeRequested="..." account="..." note="..." />

Example JSON

{ "journalEntry" : ..., "date" : "...", "row" : ..., "currency" : "...", "id" : ..., "amount" : ..., "bankTransactionId" : "...", "balance" : ..., "removeRequested" : false, "account" : ..., "note" : "..." }

Element bankTransactionSummary

Used for both the bank statement and the ledger transactions, this stores the basic information about the transaction and the matching transaction's ID. The matched ID indicates a bank statement row for a journal entry, and a journal entry for a bank statement row.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <bankTransactionSummary matchedTransaction="..." id="..." amount="..." date="..." note="..." currency="..." />

Example JSON

{ "matchedTransaction" : ..., "id" : ..., "amount" : ..., "date" : "...", "note" : "...", "currency" : "..." }

Element baseTransaction

Base class for transactional data that could either be a bank statement row or a journal entry

Example XML

<?xml version="1.0" encoding="UTF-8"?> <baseTransaction id="..." amount="..." date="..." note="..." currency="..." />

Example JSON

{ "id" : ..., "amount" : ..., "date" : "...", "note" : "...", "currency" : "..." }

Element basicTaxInfo

Basic taxes. Allows a single tax code to be setup. Nothing too fancy here but it is simpler than manually setting up taxes.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <basicTaxInfo rate="..." previousShortName="..." description="..." name="..." active="..." shortName="..." registration="..." previousName="..." />

Example JSON

{ "rate" : ..., "previousShortName" : "...", "description" : "...", "name" : "...", "active" : false, "shortName" : "...", "registration" : "...", "previousName" : "..." }

Element bill

Represents a Bill in the system. A bill is basically just an invoice received from another business, so pretty much all the fields and functionality are shared with invoices.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <bill exchangePayment="..." totalDue="..." terms="..." poNumber="..." keepInOriginalCurrency="..." dueDate="..." balanceDue="..." memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <lineItems> <lineItem id="..." rate="..." item="..." account="..." quantity="..." taxCode="..." note="..."> <!--content of type 'lineItem'--> </lineItem> <lineItem> <!--(another 'lineItem' type)--> </lineItem> <!--...more "lineItem" elements...--> </lineItems> <payments> <payment payment="..." exchangeRate="..." paymentRefNum="..." paymentMemo="..." account="..." date="..." amount="..." id="..."> <!--content of type 'paymentAllocationIn'--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </payment> <payment> <!--(another 'paymentAllocationIn' type)--> </payment> <!--...more "payment" elements...--> </payments> <taxes> <tax amount="..." registrationNumber="..." name="..."> <!--content of type 'invoiceTaxAmount'--> </tax> <tax> <!--(another 'invoiceTaxAmount' type)--> </tax> <!--...more "tax" elements...--> </taxes> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </bill>

Example JSON

{ "exchangePayment" : false, "totalDue" : ..., "terms" : "...", "poNumber" : "...", "keepInOriginalCurrency" : false, "dueDate" : "...", "balanceDue" : ..., "lineItems" : [ { "id" : ..., "rate" : ..., "item" : ..., "account" : ..., "quantity" : ..., "taxCode" : "...", "note" : "..." }, ... ], "payments" : [ { "payment" : ..., "exchangeRate" : ..., "paymentRefNum" : "...", "paymentMemo" : "...", "account" : ..., "date" : "...", "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "amount" : ..., "id" : ... }, ... ], "taxes" : [ { "amount" : ..., "registrationNumber" : "...", "name" : "..." }, ... ], "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element billPayment

Example XML

<?xml version="1.0" encoding="UTF-8"?> <billPayment amount="..." byCheck="..." creditAccount="..." method="..." unallocatedAmount="..." memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <checks> <checkRegistry> <!--content of type 'checkRegistryInfo'--> <account> <!--content of type 'long'--> ... </account> <amount> <!--content of type 'long'--> ... </amount> <bill amount="..." number="..."> <!--content of type 'billNumberAndAmount'--> </bill> <bill> <!--(another 'billNumberAndAmount' type)--> </bill> <!--...more "bill" elements...--> <business> <!--content of type 'long'--> ... </business> <checkDate> <!--content of type 'string'--> ... </checkDate> <checkNumber> <!--content of type 'int'--> ... </checkNumber> <contact> <!--content of type 'long'--> ... </contact> <currency> <!--content of type 'string'--> ... </currency> <dateCleared> <!--content of type 'string'--> ... </dateCleared> <datePrinted> <!--content of type 'string'--> ... </datePrinted> <id> <!--content of type 'long'--> ... </id> <memo> <!--content of type 'string'--> ... </memo> <payTo> <!--content of type 'string'--> ... </payTo> <payToAddress> <!--content of type 'string'--> ... </payToAddress> <payment> <!--content of type 'long'--> ... </payment> <paymentNumber> <!--content of type 'string'--> ... </paymentNumber> <status> <!--content of type 'string'--> ... </status> </checkRegistry> <checkRegistry> <!--(another 'checkRegistryInfo' type)--> </checkRegistry> <!--...more "checkRegistry" elements...--> </checks> <allocations> <allocation record="..." invoiceDate="..." invoiceNumber="..." payableOrReceivableAccount="..." balanceDue="..." amount="..." id="..."> <!--content of type 'paymentAllocationOut'--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </allocation> <allocation> <!--(another 'paymentAllocationOut' type)--> </allocation> <!--...more "allocation" elements...--> </allocations> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </billPayment>

Example JSON

{ "checks" : [ { "account" : ..., "amount" : ..., "bill" : [ { "amount" : ..., "number" : "..." }, ... ], "business" : ..., "checkDate" : "...", "checkNumber" : ..., "contact" : ..., "currency" : "...", "dateCleared" : "...", "datePrinted" : "...", "id" : ..., "memo" : "...", "payTo" : "...", "payToAddress" : "...", "payment" : ..., "paymentNumber" : "...", "status" : "..." }, ... ], "amount" : ..., "byCheck" : false, "creditAccount" : ..., "method" : "...", "unallocatedAmount" : ..., "allocations" : [ { "record" : ..., "invoiceDate" : "...", "invoiceNumber" : "...", "payableOrReceivableAccount" : ..., "balanceDue" : ..., "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "amount" : ..., "id" : ... }, ... ], "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false }

Element business

Example XML

<?xml version="1.0" encoding="UTF-8"?> <business defaultInventoryAccount="..." startDate="..." currencies="..." defaultAccountsPayable="..." appStore="..." inventoryCogsMethod="..." appStoreName="..." fiscalStartMonth="..." timeZone="..." defaultBankAccount="..." defaultAccountsReceivable="..." currency="..." id="..." fiscalStartDay="..." serviceProviderAccessLevel="..." serviceProviderRefNumber="..." defaultEquityAccount="..." fiscalStartYear="..." defaultCashAccount="..." creationDate="..." gainOrLossOnExchange="..." dateFormatting="..." removed="..."> <billingContact> <!--content of type 'string'--> ... </billingContact> <contractStatus> <!--content of type 'string'--> ... </contractStatus> <numberOfUsers> <!--content of type 'int'--> ... </numberOfUsers> <paymentMethodLabel> <!--content of type 'string'--> ... </paymentMethodLabel> <planName> <!--content of type 'string'--> ... </planName> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <privilege> <!--content of type 'privilege'--> ... </privilege> <privilege> <!--(another 'privilege' type)--> </privilege> <!--...more "privilege" elements...--> </business>

Example JSON

{ "billingContact" : "...", "contractStatus" : "...", "numberOfUsers" : ..., "paymentMethodLabel" : "...", "planName" : "...", "defaultInventoryAccount" : ..., "startDate" : "...", "currencies" : "...", "defaultAccountsPayable" : ..., "appStore" : ..., "inventoryCogsMethod" : "...", "appStoreName" : "...", "fiscalStartMonth" : ..., "timeZone" : "...", "defaultBankAccount" : ..., "defaultAccountsReceivable" : ..., "currency" : "...", "id" : ..., "fiscalStartDay" : ..., "serviceProviderAccessLevel" : { }, "serviceProviderRefNumber" : "...", "defaultEquityAccount" : ..., "fiscalStartYear" : ..., "defaultCashAccount" : ..., "creationDate" : "...", "gainOrLossOnExchange" : ..., "dateFormatting" : { }, "removed" : false, "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "privilege" : [ { }, ... ] }

Element business

Example XML

<?xml version="1.0" encoding="UTF-8"?> <business defaultInventoryAccount="..." startDate="..." currencies="..." defaultAccountsPayable="..." appStore="..." inventoryCogsMethod="..." appStoreName="..." fiscalStartMonth="..." timeZone="..." defaultBankAccount="..." defaultAccountsReceivable="..." currency="..." id="..." fiscalStartDay="..." serviceProviderAccessLevel="..." serviceProviderRefNumber="..." defaultEquityAccount="..." fiscalStartYear="..." defaultCashAccount="..." creationDate="..." gainOrLossOnExchange="..." dateFormatting="..." removed="..."> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <privilege> <!--content of type 'privilege'--> ... </privilege> <privilege> <!--(another 'privilege' type)--> </privilege> <!--...more "privilege" elements...--> </business>

Example JSON

{ "defaultInventoryAccount" : ..., "startDate" : "...", "currencies" : "...", "defaultAccountsPayable" : ..., "appStore" : ..., "inventoryCogsMethod" : "...", "appStoreName" : "...", "fiscalStartMonth" : ..., "timeZone" : "...", "defaultBankAccount" : ..., "defaultAccountsReceivable" : ..., "currency" : "...", "id" : ..., "fiscalStartDay" : ..., "serviceProviderAccessLevel" : { }, "serviceProviderRefNumber" : "...", "defaultEquityAccount" : ..., "fiscalStartYear" : ..., "defaultCashAccount" : ..., "creationDate" : "...", "gainOrLossOnExchange" : ..., "dateFormatting" : { }, "removed" : false, "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "privilege" : [ { }, ... ] }

Element businessUserRole

Example XML

<?xml version="1.0" encoding="UTF-8"?> <businessUserRole lastLogin="..." last="..." email="..." inviteCode="..." user="..." first="..." business="..."> <roles> <role> <!--content of type 'role'--> ... </role> <role> <!--(another 'role' type)--> </role> <!--...more "role" elements...--> </roles> </businessUserRole>

Example JSON

{ "lastLogin" : "...", "last" : "...", "email" : "...", "inviteCode" : "...", "user" : ..., "first" : "...", "business" : ..., "roles" : [ { }, ... ] }

Element canadianTaxInfo

Canadian sales tax information; used to configure the canadian sales taxes as if they are a single record. The service translates these fields as a summary to and from a full set of taxes and tax codes for a business. There's a decent article on the canadian sales taxes on wikipedia: http://en.wikipedia.org/wiki/Provincial_Sales_Tax For provinces using HST instead of GST + PST, the GST information should be used in place of the HST information.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <canadianTaxInfo gstRegistered="..." pstRegistered="..." pstNumber="..." active="..." taxRegionName="..." gstNumber="..." />

Example JSON

{ "gstRegistered" : false, "pstRegistered" : false, "pstNumber" : "...", "active" : false, "taxRegionName" : "...", "gstNumber" : "..." }

Element changeset

Example XML

<?xml version="1.0" encoding="UTF-8"?> <changeset id="..." timestamp="..." description="..." userEmail="..." userDisplayName="..." comment="..." user="..." />

Example JSON

{ "id" : ..., "timestamp" : "...", "description" : "...", "userEmail" : "...", "userDisplayName" : "...", "comment" : "...", "user" : ... }

Element collaborationcontext

Example XML

<?xml version="1.0" encoding="UTF-8"?> <collaborationcontext tags="..." id="..." record="..." mayAddComments="..." contact="..." mayAddAttachments="..."> <events> <events timestamp="..." id="..." author="..." draft="..." context="..." comment="..." user="..."> <!--content of type 'collaborationEvent'--> <attachments> <attachments timestamp="..." id="..." publicAccess="..." complete="..." name="..." contentType="..." contentLength="..." business="..." characterEncoding="..." uploaderName="..."> <!--content of type 'attachment'--> <initialData> <!--content of type 'base64Binary'--> ... </initialData> </attachments> <attachments> <!--(another 'attachment' type)--> </attachments> <!--...more "attachments" elements...--> </attachments> </events> <events> <!--(another 'collaborationEvent' type)--> </events> <!--...more "events" elements...--> </events> </collaborationcontext>

Example JSON

{ "tags" : "...", "id" : ..., "record" : ..., "mayAddComments" : false, "contact" : ..., "mayAddAttachments" : false, "events" : [ { "timestamp" : "...", "id" : ..., "author" : "...", "draft" : false, "context" : ..., "comment" : "...", "user" : ..., "attachments" : [ { "timestamp" : "...", "id" : ..., "publicAccess" : false, "complete" : false, "name" : "...", "contentType" : "...", "contentLength" : ..., "business" : ..., "characterEncoding" : "...", "uploaderName" : "...", "initialData" : "..." }, ... ] }, ... ] }

Element collection

Example XML

<?xml version="1.0" encoding="UTF-8"?> <collection size="..." />

Example JSON

{ "size" : ... }

Element contact

Example XML

<?xml version="1.0" encoding="UTF-8"?> <contact paymentAccount="..." incomeOrExpenseAccount="..." collaborationContext="..." type="..." business="..." currency="..." id="..." payableAccount="..." prefix="..." removed="..." paymentTerms="..." linkedBusiness="..." receivableAccount="..."> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <linkedBusinessData numberOfCustomers="..." numberOfTransactions="..." numberOfVendors="..."> <!--content of type 'linkedBusinessData'--> <business defaultInventoryAccount="..." startDate="..." currencies="..." defaultAccountsPayable="..." appStore="..." inventoryCogsMethod="..." appStoreName="..." fiscalStartMonth="..." timeZone="..." defaultBankAccount="..." defaultAccountsReceivable="..." currency="..." id="..." fiscalStartDay="..." serviceProviderAccessLevel="..." serviceProviderRefNumber="..." defaultEquityAccount="..." fiscalStartYear="..." defaultCashAccount="..." creationDate="..." gainOrLossOnExchange="..." dateFormatting="..." removed="..."> <!--content of type 'business'--> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <privilege> <!--content of type 'privilege'--> ... </privilege> <privilege> <!--(another 'privilege' type)--> </privilege> <!--...more "privilege" elements...--> </business> <contract lastPayment="..." startDate="..." planName="..." nextPaymentAmount="..." planChangeDate="..." expired="..." linkedPaymentAccount="..." invoice="..." billingEmail="..." contact="..." business="..." version="..." id="..." billingContact="..." nextPaymentAttempt="..." lastPaymentAmount="..." lastPaymentAttempt="..." paidUntil="..." features="..." nextPayment="..." processor="..." nextMonthlyInvoiceDate="..." pendingPlan="..." expiryDate="..." lastPaymentCurrency="..." failedPaymentTransactionId="..." message="..." plan="..." nextAnnualInvoiceDate="..." paymentFailed="..." removed="..." linkedContact="..." currentPlanStartDate="..." lastAutomaticMessageSent="..." paymentInformationAvailable="..." linkedExpenseAccount="..." billingName="..." billingPhone="..." nextPaymentCurrency="..."> <!--content of type 'subscription'--> </contract> <acl> <businessUserRole lastLogin="..." last="..." email="..." inviteCode="..." user="..." first="..." business="..."> <!--content of type 'businessUserRole'--> <roles> <role> <!--content of type 'role'--> ... </role> <role> <!--(another 'role' type)--> </role> <!--...more "role" elements...--> </roles> </businessUserRole> <businessUserRole> <!--(another 'businessUserRole' type)--> </businessUserRole> <!--...more "businessUserRole" elements...--> </acl> </linkedBusinessData> </contact>

Example JSON

{ "paymentAccount" : ..., "incomeOrExpenseAccount" : ..., "collaborationContext" : ..., "type" : { }, "business" : ..., "currency" : "...", "id" : ..., "payableAccount" : ..., "prefix" : "...", "removed" : false, "paymentTerms" : "...", "linkedBusiness" : ..., "receivableAccount" : ..., "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "linkedBusinessData" : { "numberOfCustomers" : ..., "numberOfTransactions" : ..., "numberOfVendors" : ..., "business" : { "defaultInventoryAccount" : ..., "startDate" : "...", "currencies" : "...", "defaultAccountsPayable" : ..., "appStore" : ..., "inventoryCogsMethod" : "...", "appStoreName" : "...", "fiscalStartMonth" : ..., "timeZone" : "...", "defaultBankAccount" : ..., "defaultAccountsReceivable" : ..., "currency" : "...", "id" : ..., "fiscalStartDay" : ..., "serviceProviderAccessLevel" : { }, "serviceProviderRefNumber" : "...", "defaultEquityAccount" : ..., "fiscalStartYear" : ..., "defaultCashAccount" : ..., "creationDate" : "...", "gainOrLossOnExchange" : ..., "dateFormatting" : { }, "removed" : false, "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "privilege" : [ { }, ... ] }, "contract" : { "lastPayment" : "...", "startDate" : "...", "planName" : "...", "nextPaymentAmount" : ..., "planChangeDate" : "...", "expired" : false, "linkedPaymentAccount" : ..., "invoice" : ..., "billingEmail" : "...", "contact" : ..., "business" : ..., "version" : ..., "id" : ..., "billingContact" : "...", "nextPaymentAttempt" : "...", "lastPaymentAmount" : ..., "lastPaymentAttempt" : "...", "paidUntil" : "...", "features" : "...", "nextPayment" : "...", "processor" : ..., "nextMonthlyInvoiceDate" : "...", "pendingPlan" : ..., "expiryDate" : "...", "lastPaymentCurrency" : "...", "failedPaymentTransactionId" : ..., "message" : "...", "plan" : ..., "nextAnnualInvoiceDate" : "...", "paymentFailed" : false, "removed" : false, "linkedContact" : ..., "currentPlanStartDate" : "...", "lastAutomaticMessageSent" : "...", "paymentInformationAvailable" : false, "linkedExpenseAccount" : ..., "billingName" : "...", "billingPhone" : "...", "nextPaymentCurrency" : "..." }, "acl" : [ { "lastLogin" : "...", "last" : "...", "email" : "...", "inviteCode" : "...", "user" : ..., "first" : "...", "business" : ..., "roles" : [ { }, ... ] }, ... ] } }

Element contactSummary

Example XML

<?xml version="1.0" encoding="UTF-8"?> <contactSummary id="..." address="..." email="..." name="..." phoneNumbers="..." type="..." />

Example JSON

{ "id" : ..., "address" : "...", "email" : "...", "name" : "...", "phoneNumbers" : "...", "type" : { } }

Element contractPlan

Example XML

<?xml version="1.0" encoding="UTF-8"?> <contractPlan id="..." monthlyPrice="..." annualPrice="..." description="..." name="..." upgradePaymentAmount="..." taxCode="..." currency="..."> <selectable> <!--content of type 'boolean'--> ... </selectable> </contractPlan>

Example JSON

{ "id" : ..., "monthlyPrice" : ..., "annualPrice" : ..., "description" : "...", "name" : "...", "upgradePaymentAmount" : ..., "taxCode" : "...", "currency" : "...", "selectable" : false }

Element currency

Example XML

<?xml version="1.0" encoding="UTF-8"?> <currency id="..." currencyCode="..." foreignPrefix="..." prefix="..." name="..." decimalSeparator="..." suffix="..." decimalPlaces="..." />

Example JSON

{ "id" : ..., "currencyCode" : "...", "foreignPrefix" : "...", "prefix" : "...", "name" : "...", "decimalSeparator" : { }, "suffix" : "...", "decimalPlaces" : ... }

Element emailSettings

Example XML

<?xml version="1.0" encoding="UTF-8"?> <emailSettings autoBcc="..." port="..." username="..." hostname="..." debug="..." fromName="..." fromEmailAddress="..." password="..." smtps="..." />

Example JSON

{ "autoBcc" : "...", "port" : ..., "username" : "...", "hostname" : "...", "debug" : false, "fromName" : "...", "fromEmailAddress" : "...", "password" : "...", "smtps" : false }

Element exchangeRate

Exchange rate information. The way to interpret this is: 1 $baseCurrencyCode = $exchangeRate * $currencyCode

Example XML

<?xml version="1.0" encoding="UTF-8"?> <exchangeRate currencyCode="..." source="..." exchangeRate="..." asOf="..." derived="..." sourceComment="..." baseCurrencyCode="..." dateEntered="..." />

Example JSON

{ "currencyCode" : "...", "source" : { }, "exchangeRate" : ..., "asOf" : "...", "derived" : ..., "sourceComment" : "...", "baseCurrencyCode" : "...", "dateEntered" : "..." }

Element inventoryEntries

Example XML

<?xml version="1.0" encoding="UTF-8"?> <inventoryEntries id="..." record="..." item="..." quantity="..." date="..." cost="..." currency="..." />

Example JSON

{ "id" : ..., "record" : ..., "item" : ..., "quantity" : ..., "date" : "...", "cost" : ..., "currency" : ... }

Element invoice

Example XML

<?xml version="1.0" encoding="UTF-8"?> <invoice exchangePayment="..." totalDue="..." terms="..." poNumber="..." keepInOriginalCurrency="..." dueDate="..." balanceDue="..." memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <lineItems> <lineItem id="..." rate="..." item="..." account="..." quantity="..." taxCode="..." note="..."> <!--content of type 'lineItem'--> </lineItem> <lineItem> <!--(another 'lineItem' type)--> </lineItem> <!--...more "lineItem" elements...--> </lineItems> <payments> <payment payment="..." exchangeRate="..." paymentRefNum="..." paymentMemo="..." account="..." date="..." amount="..." id="..."> <!--content of type 'paymentAllocationIn'--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </payment> <payment> <!--(another 'paymentAllocationIn' type)--> </payment> <!--...more "payment" elements...--> </payments> <taxes> <tax amount="..." registrationNumber="..." name="..."> <!--content of type 'invoiceTaxAmount'--> </tax> <tax> <!--(another 'invoiceTaxAmount' type)--> </tax> <!--...more "tax" elements...--> </taxes> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </invoice>

Example JSON

{ "exchangePayment" : false, "totalDue" : ..., "terms" : "...", "poNumber" : "...", "keepInOriginalCurrency" : false, "dueDate" : "...", "balanceDue" : ..., "lineItems" : [ { "id" : ..., "rate" : ..., "item" : ..., "account" : ..., "quantity" : ..., "taxCode" : "...", "note" : "..." }, ... ], "payments" : [ { "payment" : ..., "exchangeRate" : ..., "paymentRefNum" : "...", "paymentMemo" : "...", "account" : ..., "date" : "...", "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "amount" : ..., "id" : ... }, ... ], "taxes" : [ { "amount" : ..., "registrationNumber" : "...", "name" : "..." }, ... ], "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element invoicePayment

Example XML

<?xml version="1.0" encoding="UTF-8"?> <invoicePayment amount="..." byCheck="..." creditAccount="..." method="..." unallocatedAmount="..." memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <allocations> <allocation record="..." invoiceDate="..." invoiceNumber="..." payableOrReceivableAccount="..." balanceDue="..." amount="..." id="..."> <!--content of type 'paymentAllocationOut'--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </allocation> <allocation> <!--(another 'paymentAllocationOut' type)--> </allocation> <!--...more "allocation" elements...--> </allocations> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </invoicePayment>

Example JSON

{ "amount" : ..., "byCheck" : false, "creditAccount" : ..., "method" : "...", "unallocatedAmount" : ..., "allocations" : [ { "record" : ..., "invoiceDate" : "...", "invoiceNumber" : "...", "payableOrReceivableAccount" : ..., "balanceDue" : ..., "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "amount" : ..., "id" : ... }, ... ], "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false }

Element item

Example XML

<?xml version="1.0" encoding="UTF-8"?> <item defaultDiscountCode="..." creditAccount="..." tracked="..." cogsAccount="..." business="..." id="..." debitAccount="..." defaultSellRate="..." category="..." inventoryAccount="..." readOnly="..." description="..." defaultBuyRate="..." name="..." defaultTaxCode="..." removed="..." defaultNote="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <sku> <!--content of type 'string'--> ... </sku> </item>

Example JSON

{ "defaultDiscountCode" : "...", "creditAccount" : ..., "tracked" : false, "cogsAccount" : ..., "business" : ..., "id" : ..., "debitAccount" : ..., "defaultSellRate" : ..., "category" : ..., "inventoryAccount" : ..., "readOnly" : false, "description" : "...", "defaultBuyRate" : ..., "name" : "...", "defaultTaxCode" : "...", "removed" : false, "defaultNote" : "...", "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "sku" : "..." }

Element journalEntries

Return value for some methods that returns the balances of the account at the end of the list of journal entries as well as the list. This makes it possible for the client to display a running total balance. Important notes: The running balance for a given journal entry is equal to the provided balance with the matching currency (or zero if none is given) MINUS the amount of any journal entry LATER in the array with the same currency. All the balances given are CREDIT balances, as are the amounts in the journal entries. For display purposes these should be multiplied by -1 if the account is a debit account (i.e. account.getType().isNormalBalanceCredit() == false)

Example XML

<?xml version="1.0" encoding="UTF-8"?> <journalEntries> <balances> <balance amount="..." account="..." currency="..."> <!--content of type 'balance'--> </balance> <balance> <!--(another 'balance' type)--> </balance> <!--...more "balance" elements...--> </balances> <journalEntries> <journalEntry record="..." account="..." id="..." amount="..." date="..." note="..." currency="..."> <!--content of type 'journalEntry'--> </journalEntry> <journalEntry> <!--(another 'journalEntry' type)--> </journalEntry> <!--...more "journalEntry" elements...--> </journalEntries> </journalEntries>

Example JSON

{ "balances" : [ { "amount" : ..., "account" : ..., "currency" : "..." }, ... ], "journalEntries" : [ { "record" : ..., "account" : ..., "id" : ..., "amount" : ..., "date" : "...", "note" : "...", "currency" : "..." }, ... ] }

Element journalEntry

An entry in the General Journal.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <journalEntry record="..." account="..." id="..." amount="..." date="..." note="..." currency="..." />

Example JSON

{ "record" : ..., "account" : ..., "id" : ..., "amount" : ..., "date" : "...", "note" : "...", "currency" : "..." }

Element link

Example XML

<?xml version="1.0" encoding="UTF-8"?> <link rel="..." type="..." href="..." />

Example JSON

{ "rel" : "...", "type" : "...", "href" : "..." }

Element linkedBusinessData

Example XML

<?xml version="1.0" encoding="UTF-8"?> <linkedBusinessData numberOfCustomers="..." numberOfTransactions="..." numberOfVendors="..."> <business defaultInventoryAccount="..." startDate="..." currencies="..." defaultAccountsPayable="..." appStore="..." inventoryCogsMethod="..." appStoreName="..." fiscalStartMonth="..." timeZone="..." defaultBankAccount="..." defaultAccountsReceivable="..." currency="..." id="..." fiscalStartDay="..." serviceProviderAccessLevel="..." serviceProviderRefNumber="..." defaultEquityAccount="..." fiscalStartYear="..." defaultCashAccount="..." creationDate="..." gainOrLossOnExchange="..." dateFormatting="..." removed="..."> <!--content of type 'business'--> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> <privilege> <!--content of type 'privilege'--> ... </privilege> <privilege> <!--(another 'privilege' type)--> </privilege> <!--...more "privilege" elements...--> </business> <contract lastPayment="..." startDate="..." planName="..." nextPaymentAmount="..." planChangeDate="..." expired="..." linkedPaymentAccount="..." invoice="..." billingEmail="..." contact="..." business="..." version="..." id="..." billingContact="..." nextPaymentAttempt="..." lastPaymentAmount="..." lastPaymentAttempt="..." paidUntil="..." features="..." nextPayment="..." processor="..." nextMonthlyInvoiceDate="..." pendingPlan="..." expiryDate="..." lastPaymentCurrency="..." failedPaymentTransactionId="..." message="..." plan="..." nextAnnualInvoiceDate="..." paymentFailed="..." removed="..." linkedContact="..." currentPlanStartDate="..." lastAutomaticMessageSent="..." paymentInformationAvailable="..." linkedExpenseAccount="..." billingName="..." billingPhone="..." nextPaymentCurrency="..."> <!--content of type 'subscription'--> </contract> <acl> <businessUserRole lastLogin="..." last="..." email="..." inviteCode="..." user="..." first="..." business="..."> <!--content of type 'businessUserRole'--> <roles> <role> <!--content of type 'role'--> ... </role> <role> <!--(another 'role' type)--> </role> <!--...more "role" elements...--> </roles> </businessUserRole> <businessUserRole> <!--(another 'businessUserRole' type)--> </businessUserRole> <!--...more "businessUserRole" elements...--> </acl> </linkedBusinessData>

Example JSON

{ "numberOfCustomers" : ..., "numberOfTransactions" : ..., "numberOfVendors" : ..., "business" : { "defaultInventoryAccount" : ..., "startDate" : "...", "currencies" : "...", "defaultAccountsPayable" : ..., "appStore" : ..., "inventoryCogsMethod" : "...", "appStoreName" : "...", "fiscalStartMonth" : ..., "timeZone" : "...", "defaultBankAccount" : ..., "defaultAccountsReceivable" : ..., "currency" : "...", "id" : ..., "fiscalStartDay" : ..., "serviceProviderAccessLevel" : { }, "serviceProviderRefNumber" : "...", "defaultEquityAccount" : ..., "fiscalStartYear" : ..., "defaultCashAccount" : ..., "creationDate" : "...", "gainOrLossOnExchange" : ..., "dateFormatting" : { }, "removed" : false, "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ], "privilege" : [ { }, ... ] }, "contract" : { "lastPayment" : "...", "startDate" : "...", "planName" : "...", "nextPaymentAmount" : ..., "planChangeDate" : "...", "expired" : false, "linkedPaymentAccount" : ..., "invoice" : ..., "billingEmail" : "...", "contact" : ..., "business" : ..., "version" : ..., "id" : ..., "billingContact" : "...", "nextPaymentAttempt" : "...", "lastPaymentAmount" : ..., "lastPaymentAttempt" : "...", "paidUntil" : "...", "features" : "...", "nextPayment" : "...", "processor" : ..., "nextMonthlyInvoiceDate" : "...", "pendingPlan" : ..., "expiryDate" : "...", "lastPaymentCurrency" : "...", "failedPaymentTransactionId" : ..., "message" : "...", "plan" : ..., "nextAnnualInvoiceDate" : "...", "paymentFailed" : false, "removed" : false, "linkedContact" : ..., "currentPlanStartDate" : "...", "lastAutomaticMessageSent" : "...", "paymentInformationAvailable" : false, "linkedExpenseAccount" : ..., "billingName" : "...", "billingPhone" : "...", "nextPaymentCurrency" : "..." }, "acl" : [ { "lastLogin" : "...", "last" : "...", "email" : "...", "inviteCode" : "...", "user" : ..., "first" : "...", "business" : ..., "roles" : [ { }, ... ] }, ... ] }

Element manualAdjustmentRecord

Corresponds to an "Adjusment" in the user interface. This is used for accountant's adjustments that aren't handled appropriately by other record types. An adjustment must be internally balanced; that is, the sum of all the adjustments (grouped by currency) must be zero.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <manualAdjustmentRecord memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <adjustments> <adjustment amount="..." id="..." account="..." note="..." currency="..."> <!--content of type 'adjustment'--> </adjustment> <adjustment> <!--(another 'adjustment' type)--> </adjustment> <!--...more "adjustment" elements...--> </adjustments> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </manualAdjustmentRecord>

Example JSON

{ "adjustments" : [ { "amount" : ..., "id" : ..., "account" : ..., "note" : "...", "currency" : "..." }, ... ], "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element paymentSetup

Example XML

<?xml version="1.0" encoding="UTF-8"?> <paymentSetup statusString="..." logoUrl="..." method="..." label="..." processorName="..." paymentInformationAvailable="..." errorString="..." setupUrl="..." />

Example JSON

{ "statusString" : "...", "logoUrl" : "...", "method" : { }, "label" : "...", "processorName" : "...", "paymentInformationAvailable" : false, "errorString" : "...", "setupUrl" : "..." }

Element record

Record is a base class of the various financial transaction records that can be entered into the system. Subclasses of record include invoices, bills, payments, transfers, and adjustments. For more information about those records, consult the documentation of the appropriate subclass. To specify the type of record you are sending in a JSON request, set a field "type" equal to the XML element of the subclasses' XML format.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <record memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </record>

Example JSON

{ "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element recordTemplate

Example XML

<?xml version="1.0" encoding="UTF-8"?> <recordTemplate id="..." text="..." label="..." type="..." business="..." />

Example JSON

{ "id" : ..., "text" : "...", "label" : "...", "type" : { }, "business" : ... }

Element serviceAnnouncement

Example XML

<?xml version="1.0" encoding="UTF-8"?> <serviceAnnouncement startDate="..." preContent="..." creatorId="..." content="..." title="..." duration="..." testerEmailFilter="..." preWindowLeadTime="..." regularUserPolicy="..." popUpLeadTime="..."> <id> <!--content of type 'long'--> ... </id> </serviceAnnouncement>

Example JSON

{ "startDate" : "...", "preContent" : "...", "creatorId" : ..., "content" : "...", "title" : "...", "duration" : ..., "testerEmailFilter" : "...", "preWindowLeadTime" : ..., "regularUserPolicy" : { "label" : "..." }, "popUpLeadTime" : ..., "id" : ... }

Element subscription

Example XML

<?xml version="1.0" encoding="UTF-8"?> <subscription lastPayment="..." startDate="..." planName="..." nextPaymentAmount="..." planChangeDate="..." expired="..." linkedPaymentAccount="..." invoice="..." billingEmail="..." contact="..." business="..." version="..." id="..." billingContact="..." nextPaymentAttempt="..." lastPaymentAmount="..." lastPaymentAttempt="..." paidUntil="..." features="..." nextPayment="..." processor="..." nextMonthlyInvoiceDate="..." pendingPlan="..." expiryDate="..." lastPaymentCurrency="..." failedPaymentTransactionId="..." message="..." plan="..." nextAnnualInvoiceDate="..." paymentFailed="..." removed="..." linkedContact="..." currentPlanStartDate="..." lastAutomaticMessageSent="..." paymentInformationAvailable="..." linkedExpenseAccount="..." billingName="..." billingPhone="..." nextPaymentCurrency="..." />

Example JSON

{ "lastPayment" : "...", "startDate" : "...", "planName" : "...", "nextPaymentAmount" : ..., "planChangeDate" : "...", "expired" : false, "linkedPaymentAccount" : ..., "invoice" : ..., "billingEmail" : "...", "contact" : ..., "business" : ..., "version" : ..., "id" : ..., "billingContact" : "...", "nextPaymentAttempt" : "...", "lastPaymentAmount" : ..., "lastPaymentAttempt" : "...", "paidUntil" : "...", "features" : "...", "nextPayment" : "...", "processor" : ..., "nextMonthlyInvoiceDate" : "...", "pendingPlan" : ..., "expiryDate" : "...", "lastPaymentCurrency" : "...", "failedPaymentTransactionId" : ..., "message" : "...", "plan" : ..., "nextAnnualInvoiceDate" : "...", "paymentFailed" : false, "removed" : false, "linkedContact" : ..., "currentPlanStartDate" : "...", "lastAutomaticMessageSent" : "...", "paymentInformationAvailable" : false, "linkedExpenseAccount" : ..., "billingName" : "...", "billingPhone" : "...", "nextPaymentCurrency" : "..." }

Element syncClientInfo

Example XML

<?xml version="1.0" encoding="UTF-8"?> <syncClientInfo id="..." business="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </syncClientInfo>

Example JSON

{ "id" : ..., "business" : ..., "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element tax

TaxInfo is the client-side representation of a tax (a sales tax). Each sales tax has a rate (a percentage) and possible a previous rate and an effective date which smooths rate changeovers. Some sales taxes are only there to help with calculations during data entry, but the taxes are not remitted so they are not recorded into their own accounts. Other taxes are recorded into their own accounts. Taxes collected go into the taxes payable (to the government) account, and taxes paid go into the taxes receivable (from the government) account; each specific to that tax so you can file and remit each tax separately. Taxes typically have a registration number which must be shown on invoices including that tax so that customer can confirm the validity of the business' ability to collect that tax. In Canada, there are both provincial and federal taxes, and in two provinces, the provincial taxes are charged on top of the federal taxes. To support this, the appliesToAmountAfterPreviousTaxes flag indicates that the tax applies to the amount after the previously applied taxes. When these taxes are applied to an amount, the order the taxes are listed becomes significant; otherwise, the order is not relevant when using multiple taxes. For more about QST, see: http://www.revenu.gouv.qc.ca/eng/entreprise/taxes/tvq_tps/info.asp For more about Canadian Sales Taxes, see: http://en.wikipedia.org/wiki/Sales_taxes_in_Canada

Example XML

<?xml version="1.0" encoding="UTF-8"?> <tax business="..." version="..." id="..." rate="..." expenseAccount="..." description="..." name="..." effectiveDate="..." previousName="..." lazyRounding="..." previousShortName="..." registration="..." readOnly="..." previousRate="..." payableAccount="..." registered="..." appliesToAmountAfterPreviousTaxes="..." removed="..." shortName="..." receivableAccount="..." />

Example JSON

{ "business" : ..., "version" : ..., "id" : ..., "rate" : ..., "expenseAccount" : ..., "description" : "...", "name" : "...", "effectiveDate" : "...", "previousName" : "...", "lazyRounding" : false, "previousShortName" : "...", "registration" : "...", "readOnly" : false, "previousRate" : ..., "payableAccount" : ..., "registered" : false, "appliesToAmountAfterPreviousTaxes" : false, "removed" : false, "shortName" : "...", "receivableAccount" : ... }

Element taxCode

Example XML

<?xml version="1.0" encoding="UTF-8"?> <taxCode id="..." expansion="..." taxSystem="..." income="..." description="..." name="..." business="..." />

Example JSON

{ "id" : ..., "expansion" : "...", "taxSystem" : "...", "income" : false, "description" : "...", "name" : "...", "business" : ... }

Element transfer

Example XML

<?xml version="1.0" encoding="UTF-8"?> <transfer amount="..." depositAccount="..." depositCurrency="..." memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </transfer>

Example JSON

{ "amount" : ..., "depositAccount" : ..., "depositCurrency" : "...", "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element user

Example XML

<?xml version="1.0" encoding="UTF-8"?> <user serviceProviderAdmin="..." openID="..." appStore="..." betaTester="..." appStoreName="..." lastPasswordReset="..." activationDate="..." changePasswordDisabled="..." addBusinessRestricted="..." id="..." staff="..." lastLogin="..." readOnly="..." removed="..." signUpDate="..." accountingProfessional="..." serviceProvider="..."> <contactInformation phone="..." instructions="..." last="..." locale="..." referral="..." shippingPhone="..." city="..." shippingProvinceOrState="..." tollFree="..." hasShippingAddress="..." name="..." campaign="..." shippingName="..." shippingPostalOrZipCode="..." street2="..." street1="..." fax="..." postalOrZipCode="..." registration="..." url="..." country="..." readOnly="..." email="..." provinceOrState="..." shippingStreet1="..." shippingStreet2="..." shippingNotes="..." shippingCountry="..." shippingCity="..." first="..." mobile="..."> <!--content of type 'contactInformation'--> </contactInformation> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </user>

Example JSON

{ "serviceProviderAdmin" : false, "openID" : "...", "appStore" : ..., "betaTester" : false, "appStoreName" : "...", "lastPasswordReset" : "...", "activationDate" : "...", "changePasswordDisabled" : false, "addBusinessRestricted" : false, "id" : ..., "staff" : false, "lastLogin" : "...", "readOnly" : false, "removed" : false, "signUpDate" : "...", "accountingProfessional" : false, "serviceProvider" : ..., "contactInformation" : { "phone" : "...", "instructions" : "...", "last" : "...", "locale" : "...", "referral" : "...", "shippingPhone" : "...", "city" : "...", "shippingProvinceOrState" : "...", "tollFree" : "...", "hasShippingAddress" : false, "name" : "...", "campaign" : "...", "shippingName" : "...", "shippingPostalOrZipCode" : "...", "street2" : "...", "street1" : "...", "fax" : "...", "postalOrZipCode" : "...", "registration" : "...", "url" : "...", "country" : "...", "readOnly" : false, "email" : "...", "provinceOrState" : "...", "shippingStreet1" : "...", "shippingStreet2" : "...", "shippingNotes" : "...", "shippingCountry" : "...", "shippingCity" : "...", "first" : "...", "mobile" : "..." }, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Element vatTaxInfo

VAT sales taxes. Allows several rates to be defined based on the region. Currently only a handful regions actually have rates defined:

  • Ireland
  • Switzerland
  • Iceland
  • Romania

Example XML

<?xml version="1.0" encoding="UTF-8"?> <vatTaxInfo registered="..." active="..." registration="..." />

Example JSON

{ "registered" : false, "active" : false, "registration" : "..." }

Element versioned

Example XML

<?xml version="1.0" encoding="UTF-8"?> <versioned> <oldField> <!--content of type 'string'--> ... </oldField> <newField> <!--content of type 'string'--> ... </newField> </versioned>

Example JSON

{ "oldField" : "...", "newField" : "..." }

Element yearEndAdjustmentRecord

This is the transfer class for the YearEndAdjustment entity type, it is currently unused because the YearEndAdjustment entity is automatically generated.

Example XML

<?xml version="1.0" encoding="UTF-8"?> <yearEndAdjustmentRecord memo="..." exchangeRate="..." number="..." collaborationContext="..." date="..." contact="..." business="..." currency="..." id="..." readOnly="..." contactName="..." account="..." removed="..."> <link rel="..." type="..." href="..."> <!--content of type 'link'--> </link> <link> <!--(another 'link' type)--> </link> <!--...more "link" elements...--> </yearEndAdjustmentRecord>

Example JSON

{ "memo" : "...", "exchangeRate" : ..., "number" : "...", "collaborationContext" : ..., "date" : "...", "contact" : ..., "business" : ..., "currency" : "...", "id" : ..., "readOnly" : false, "contactName" : "...", "account" : ..., "removed" : false, "link" : [ { "rel" : "...", "type" : "...", "href" : "..." }, ... ] }

Type account

Attributes

name type description
id long (no documentation provided)
standardTerms string (no documentation provided)
readOnly boolean (no documentation provided)
description string (no documentation provided)
name string (no documentation provided)
removed boolean (no documentation provided)
number string (no documentation provided)
type accountType (no documentation provided)
openDate string (no documentation provided)
business long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded (no documentation provided)

Type accountType

The following accounts have a normal balance of credit: Liabilities Accounts payable and taxes, notes or loans payable: debts promised to outsiders but not yet paid Revenue Profit (that is, when revenue exceeds expenses) Capital The following accounts have a normal balance of debit: Assets Accounts receivable: debts promised by other entities but not yet paid Drawings by the owners on equity Expenses Losses (that is, when expenses exceed revenue)

Child Elements

name (type) min/max
occurs
description
numbersEnd (int) 1/1 (no documentation provided)
numbersStart (int) 1/1 (no documentation provided)

Possible Values

value description
ACCOUNTS_RECEIVABLE
ACCOUNTS_PAYABLE
BANK
COST_OF_GOODS_SOLD
CREDIT_CARD
EQUITY
EXPENSE
FIXED_ASSET
INCOME
GAIN_OR_LOSS_ON_EXCHANGE
LONG_TERM_LIABILITY
OTHER_CURRENT_ASSET
OTHER_CURRENT_LIABILITY
OTHER_ASSET
TAXES
CASH
RETAINED_EARNINGS
PREPAID_EXPENSE
CLIENT_CREDIT
INVENTORY

Type adjustment

A single line in a manualAdjustment record.

Attributes

name type description
amount long (no documentation provided)
id long (no documentation provided)
account long (no documentation provided)
note string (no documentation provided)
currency string (no documentation provided)

Type appStore

Attributes

name type description
addBusinessRestricted boolean (no documentation provided)
description string (no documentation provided)
apiSecret string (no documentation provided)
changePasswordDisabled boolean (no documentation provided)
apiKey string (no documentation provided)

Type appStoreBusinessInfo

Child Elements

name (type) min/max
occurs
description
billingContact (string) 0/1 (no documentation provided)
creationDate (string) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
name (string) 0/1 (no documentation provided)

Type appStoreSubscription

An appStoreSubscription relates a user to a business, including app store specific metadata. Because different app stores have different handling for access control, adding businesses, managing passwords & identity, and so on, this subscription may be interpreted differently depending on the app store that provisioned it. Some app stores map support only a one to one mapping from user to business and allow that user to share the business with others using our built-in access control panel. Other app stores manage all access control within the app store's own system and thus send access control updates to the system and the built-in access control UI is disabled. In those cases the app store provides an identifier for the business as part of the provisioning operation, and newly provisioned users whose app store business ID match an older one will be associated with the same business and put on the ACL list as appropriate.

Child Elements

name (type) min/max
occurs
description
appStoreAssignedRole (role) 0/1 The role assigned to the user by the app store. This will also be reflected in the access control list for the business.
appStoreBusinessId (string) 0/1 Return the app store's own internal ID for the business associated with this subscription. The presence of this field implies that the app store may provision multiple users
appStoreSubscriptionId (string) 0/1 Return the app store's own internal ID for this subscription. May also be considered an order ID.
appStoreUserId (string) 0/1 Return the app store's own internal ID for this user. This is used in cases where the AppStore doesn't store its own user ID mapping, so the mapping is stored in our database instead.
business (long) 0/1 Get the system ID of the business associated with this particular subscription. May be null if the business associated with this subscription has not yet been created.
cancelled (dateTime) 0/1 Timestamp at which the subscription was marked as cancelled by a cancellation operation. If this is not null, the subscription is considered cancelled.
created (dateTime) 0/1 Timestamp at which the subscription was created by a provisioning operation.
id (long) 0/1 System ID for this subscription. Used to specifically identify this subscription at times. However, normally the subscription is identified by specifying a user and/or business ID to operate on.
testAccount (boolean) 1/1 Return whether this user is considered to be a test account; test accounts should not be billed back to the app store.
user (long) 0/1 Get the system ID of the user associated with this particular subscription.

Type appStoreSummary

Attributes

name type description
id long (no documentation provided)
name string (no documentation provided)

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded (no documentation provided)

Type appStoreUserInfo

Child Elements

name (type) min/max
occurs
description
email (string) 0/1 (no documentation provided)
first (string) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
last (string) 0/1 (no documentation provided)
lastLogin (dateTime) 0/1 (no documentation provided)

Type attachment

Attributes

name type description
timestamp dateTime (no documentation provided)
id long (no documentation provided)
publicAccess boolean (no documentation provided)
complete boolean (no documentation provided)
name string (no documentation provided)
contentType string (no documentation provided)
contentLength int (no documentation provided)
business long (no documentation provided)
characterEncoding string (no documentation provided)
uploaderName string (no documentation provided)

Child Elements

name (type) min/max
occurs
description
initialData (base64Binary) 0/1 (no documentation provided)

Type authToken

An AuthToken is used, in general, to allow clients to authenticate themselves without a user's password. The AuthToken can also be converted into a "string" that represents the auth token in certain requests to the server. For example, if you wanted to create a URL that has an auth token on it, the string representation returned by a server call is shorter and easier to put on the URL than a JSON or XML representation.

Attributes

name type description
site string For reference - the site that the user logged into in order to get this token.
restriction string If non-null, then this auth token only gives access to the given resource(s). Generally this is in a format like something-1234 where something is the type of thing being accessed and 1234 is its id. The restriction is interpreted in a manner specific to a given RPC method/URL.
expiryDate dateTime Time at which this token becomes invalid.
locale string For reference, the locale the user logged in with.
authenticationCode string Calculated HMAC of the user's secret API key, the restriction field, and the expiry date. This allows a web service client to perform requests on behalf of the given user. Note that we are NOT signing individual messages, so this authentication code must be kept secret, or an attacker would be able to re-use it to impersonate our user. Generally this code is protected using SSL, so we should be in good shape.
myUserId long User ID this token allows us to impersonate.

Type automaticMessage

Attributes

name type description
id long (no documentation provided)
startDate string (no documentation provided)
days int (no documentation provided)
plan long (no documentation provided)
plainMessage string (no documentation provided)
subject string (no documentation provided)
active boolean (no documentation provided)
removed boolean (no documentation provided)
dateReference dateReference (no documentation provided)
htmlMessage string (no documentation provided)

Type availablePaymentMethod

Result type for BooksService.getAvailablePaymentMethods().

Attributes

name type description
processorMerchantId string (no documentation provided)
processorName string (no documentation provided)
processor long (no documentation provided)
paymentMethod paymentMethod (no documentation provided)

Type balance

Attributes

name type description
amount long (no documentation provided)
account long (no documentation provided)
currency string (no documentation provided)

Type bankReconciliation

Attributes

name type description
id long (no documentation provided)
statementDate string (no documentation provided)
account long (no documentation provided)
removed boolean (no documentation provided)
date string (no documentation provided)
comment string (no documentation provided)
business long (no documentation provided)
currency string (no documentation provided)

Type bankStatementRow

Attributes

name type description
journalEntry long (no documentation provided)
date string (no documentation provided)
row int (no documentation provided)
currency string (no documentation provided)
id long (no documentation provided)
amount long Amount is a CREDIT amount. This means that a deposit into a cash account would be a negative number, and a purchase on a credit card would be a positive number.
bankTransactionId string (no documentation provided)
balance long (no documentation provided)
removeRequested boolean (no documentation provided)
account long (no documentation provided)
note string (no documentation provided)

Type bankTransactionSummary

Used for both the bank statement and the ledger transactions, this stores the basic information about the transaction and the matching transaction's ID. The matched ID indicates a bank statement row for a journal entry, and a journal entry for a bank statement row.

Attributes

name type description
matchedTransaction long (no documentation provided)

Type baseInvoiceRecordInfo

Attributes

name type description
exchangePayment boolean true if there is an implicit payment and we want that payment exchanged to local currency using this record's exchange rate
totalDue long (no documentation provided)
terms string (no documentation provided)
poNumber string (no documentation provided)
keepInOriginalCurrency boolean (no documentation provided)
dueDate string (no documentation provided)
balanceDue long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
lineItems/lineItem (lineItem) 0/unbounded (no documentation provided)
payments/payment (paymentAllocationIn) 0/unbounded Get the list of payments that have been applied to this invoice or bill. The amount of each payment allocation may be less than the amount of the original payment, if the payment was split over several invoices or bills. When saving an invoice or bill, the payment allocations must refer to records whose contact is the same as the one for this record. Note that as a useful shortcut, you can save a record with payment allocations IN that have a null payment record ID, in which case the payment record will actually be created automatically as part of the save operation.
taxes/tax (invoiceTaxAmount) 0/unbounded (no documentation provided)

Type baseTransaction

Base class for transactional data that could either be a bank statement row or a journal entry

Attributes

name type description
id long (no documentation provided)
amount long (no documentation provided)
date string (no documentation provided)
note string (no documentation provided)
currency string (no documentation provided)

Type basicTaxInfo

Basic taxes. Allows a single tax code to be setup. Nothing too fancy here but it is simpler than manually setting up taxes.

Attributes

name type description
rate double (no documentation provided)
previousShortName string (no documentation provided)
description string (no documentation provided)
name string (no documentation provided)
active boolean (no documentation provided)
shortName string (no documentation provided)
registration string (no documentation provided)
previousName string (no documentation provided)

Type bill

Represents a Bill in the system. A bill is basically just an invoice received from another business, so pretty much all the fields and functionality are shared with invoices.

Type billNumberAndAmount

Attributes

name type description
amount long (no documentation provided)
number string (no documentation provided)

Type billPayment

Child Elements

name (type) min/max
occurs
description
checks/checkRegistry (checkRegistryInfo) 0/unbounded (no documentation provided)

Type business

Attributes

name type description
defaultInventoryAccount long (no documentation provided)
startDate string (no documentation provided)
currencies string (no documentation provided)
defaultAccountsPayable long (no documentation provided)
appStore long (no documentation provided)
inventoryCogsMethod string (no documentation provided)
appStoreName string (no documentation provided)
fiscalStartMonth int (no documentation provided)
timeZone string (no documentation provided)
defaultBankAccount long (no documentation provided)
defaultAccountsReceivable long (no documentation provided)
currency string (no documentation provided)
id long (no documentation provided)
fiscalStartDay int (no documentation provided)
serviceProviderAccessLevel role (no documentation provided)
serviceProviderRefNumber string (no documentation provided)
defaultEquityAccount long (no documentation provided)
fiscalStartYear int (no documentation provided)
defaultCashAccount long (no documentation provided)
creationDate string (no documentation provided)
gainOrLossOnExchange long (no documentation provided)
dateFormatting dateFormatting (no documentation provided)
removed boolean (no documentation provided)

Child Elements

name (type) min/max
occurs
description
contactInformation (contactInformation) 0/1 (no documentation provided)
link (link) 0/unbounded (no documentation provided)
privilege (privilege) 0/unbounded (no documentation provided)

Type businessAdminInfo

Child Elements

name (type) min/max
occurs
description
billingContact (string) 0/1 (no documentation provided)
contractStatus (string) 0/1 (no documentation provided)
numberOfUsers (int) 1/1 (no documentation provided)
paymentMethodLabel (string) 0/1 (no documentation provided)
planName (string) 0/1 (no documentation provided)

Type businessUserRole

Attributes

name type description
lastLogin dateTime (no documentation provided)
last string (no documentation provided)
email string (no documentation provided)
inviteCode string (no documentation provided)
user long (no documentation provided)
first string (no documentation provided)
business long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
roles/role (role) 0/unbounded (no documentation provided)

Type candianTaxInfo

Canadian sales tax information; used to configure the canadian sales taxes as if they are a single record. The service translates these fields as a summary to and from a full set of taxes and tax codes for a business. There's a decent article on the canadian sales taxes on wikipedia: http://en.wikipedia.org/wiki/Provincial_Sales_Tax For provinces using HST instead of GST + PST, the GST information should be used in place of the HST information.

Attributes

name type description
gstRegistered boolean (no documentation provided)
pstRegistered boolean (no documentation provided)
pstNumber string (no documentation provided)
active boolean If true, the Canadian taxes and tax codes will be added. If false, the Canadian taxes and tax codes will be removed.
taxRegionName string (no documentation provided)
gstNumber string (no documentation provided)

Type changeset

Attributes

name type description
id long (no documentation provided)
timestamp dateTime (no documentation provided)
description string (no documentation provided)
userEmail string (no documentation provided)
userDisplayName string (no documentation provided)
comment string (no documentation provided)
user long (no documentation provided)

Type checkRegistryInfo

Child Elements

name (type) min/max
occurs
description
account (long) 0/1 (no documentation provided)
amount (long) 1/1 (no documentation provided)
bill (billNumberAndAmount) 0/unbounded (no documentation provided)
business (long) 0/1 (no documentation provided)
checkDate (string) 0/1 (no documentation provided)
checkNumber (int) 1/1 (no documentation provided)
contact (long) 0/1 (no documentation provided)
currency (string) 0/1 (no documentation provided)
dateCleared (string) 0/1 (no documentation provided)
datePrinted (string) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
memo (string) 0/1 (no documentation provided)
payTo (string) 0/1 (no documentation provided)
payToAddress (string) 0/1 (no documentation provided)
payment (long) 0/1 (no documentation provided)
paymentNumber (string) 0/1 (no documentation provided)
status (string) 0/1 (no documentation provided)

Type collaborationcontext

Attributes

name type description
tags string (no documentation provided)
id long (no documentation provided)
record long (no documentation provided)
mayAddComments boolean (no documentation provided)
contact long (no documentation provided)
mayAddAttachments boolean (no documentation provided)

Child Elements

name (type) min/max
occurs
description
events/events (collaborationEvent) 0/unbounded (no documentation provided)

Type collaborationEvent

Attributes

name type description
timestamp dateTime (no documentation provided)
id long (no documentation provided)
author string (no documentation provided)
draft boolean (no documentation provided)
context long (no documentation provided)
comment string (no documentation provided)
user long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
attachments/attachments (attachment) 0/unbounded (no documentation provided)

Type collection

Attributes

name type description
size int (no documentation provided)

Type contact

Attributes

name type description
paymentAccount long (no documentation provided)
incomeOrExpenseAccount long (no documentation provided)
collaborationContext long (no documentation provided)
type contactType (no documentation provided)
business long (no documentation provided)
currency string (no documentation provided)
id long (no documentation provided)
payableAccount long (no documentation provided)
prefix string (no documentation provided)
removed boolean (no documentation provided)
paymentTerms string (no documentation provided)
linkedBusiness long (no documentation provided)
receivableAccount long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
contactInformation (contactInformation) 0/1 (no documentation provided)
linkedBusinessData (linkedBusinessData) 0/1 (no documentation provided)

Type contactInformation

Attributes

name type description
phone string (no documentation provided)
instructions string (no documentation provided)
last string (no documentation provided)
locale string (no documentation provided)
referral string (no documentation provided)
shippingPhone string (no documentation provided)
city string (no documentation provided)
shippingProvinceOrState string (no documentation provided)
tollFree string (no documentation provided)
hasShippingAddress boolean (no documentation provided)
name string (no documentation provided)
campaign string (no documentation provided)
shippingName string (no documentation provided)
shippingPostalOrZipCode string (no documentation provided)
street2 string (no documentation provided)
street1 string (no documentation provided)
fax string (no documentation provided)
postalOrZipCode string (no documentation provided)
registration string (no documentation provided)
url string (no documentation provided)
country string (no documentation provided)
readOnly boolean (no documentation provided)
email string (no documentation provided)
provinceOrState string (no documentation provided)
shippingStreet1 string (no documentation provided)
shippingStreet2 string (no documentation provided)
shippingNotes string (no documentation provided)
shippingCountry string (no documentation provided)
shippingCity string (no documentation provided)
first string (no documentation provided)
mobile string (no documentation provided)

Type contactSummary

Attributes

name type description
id long (no documentation provided)
address string (no documentation provided)
email string (no documentation provided)
name string (no documentation provided)
phoneNumbers string (no documentation provided)
type contactType (no documentation provided)

Type contactType

Possible Values

value description
CUSTOMER
VENDOR
PARTNER
OWNER
GOVERNMENT
OTHER
EMPLOYEE

Type contractPlan

Attributes

name type description
id long Unique identifier for this plan
monthlyPrice int (no documentation provided)
annualPrice int (no documentation provided)
description string Description of the plan, including pricing.
name string Name/label of the plan
upgradePaymentAmount int If this plan has a higher fee than the last one, this is the amount that will be debited from their credit card if they change to that plan.
taxCode string (no documentation provided)
currency string Currency of the plan. All fees will be charged in this currency for this business.

Child Elements

name (type) min/max
occurs
description
selectable (boolean) 1/1 The business' current plan is returned as part of the available plans, even if the user should not be able to select it again.

Type currency

Attributes

name type description
id long (no documentation provided)
currencyCode string (no documentation provided)
foreignPrefix string
prefix string (no documentation provided)
name string (no documentation provided)
decimalSeparator decimalSeparator (no documentation provided)
suffix string (no documentation provided)
decimalPlaces int (no documentation provided)

Type dateFormatting

Possible Values

value description
MMM_DD_YYYY
DD_MMM_YYYY
DD_MM_YYYY
MM_DD_YYYY
DOTS_DD_MM_YYYY
ISO
DOTS_YYYY_MM_DD
SLASHES_YYYY_MM_DD
CHINESE
KOREAN

Type dateReference

For automated messages related to subscriptions, this describes the reference date used to compute the scheduled date of an email.

Possible Values

value description
START_DATE
TRIAL_END
EXPIRY_DATE
MONTHLY_INVOICE
ANNUAL_INVOICE
PAYMENT_FAILED
PAYMENT_SUCCESSFUL
INVOICE
INVOICE_DUE_DATE

Type decimalSeparator

Possible Values

value description
COMMA
PERIOD

Type emailSettings

Attributes

name type description
autoBcc string (no documentation provided)
port int (no documentation provided)
username string (no documentation provided)
hostname string (no documentation provided)
debug boolean (no documentation provided)
fromName string (no documentation provided)
fromEmailAddress string (no documentation provided)
password string (no documentation provided)
smtps boolean (no documentation provided)

Type exchangeRate

Exchange rate information. The way to interpret this is: 1 $baseCurrencyCode = $exchangeRate * $currencyCode

Attributes

name type description
currencyCode string (no documentation provided)
source exchangeRateSource (no documentation provided)
exchangeRate double (no documentation provided)
asOf string (no documentation provided)
derived int (no documentation provided)
sourceComment string (no documentation provided)
baseCurrencyCode string (no documentation provided)
dateEntered dateTime (no documentation provided)

Type exchangeRateSource

Possible Values

value description
DERIVED
FIXED_RATE
MANUAL_ENTRY
XE_DOT_COM
WORLDPAY
BANK_OF_CANADA
NEW_YORK_FED
SWISS_NATIONAL_BANK
EUROPEAN_CENTRAL_BANK
ROYAL_BANK_OF_AUSTRALIA
BANCO_DE_MEXICO
BANGKO_SENTRAL_NG_PHILIPINAS
IMF
NATIONAL_BANK_OF_UKRAINE
CENTRAL_BANK_OF_NIGERIA
NATIONAL_BANK_OF_RWANDA
CENTRAL_BANK_OF_KENYA
BANK_OF_UGANDA
BANK_OF_MOZAMBIQUE
BANK_OF_THAILAND_DAILY_RATES
OANDA

Type inventoryEntries

Attributes

name type description
id long (no documentation provided)
record long (no documentation provided)
item long (no documentation provided)
quantity decimal (no documentation provided)
date string (no documentation provided)
cost decimal (no documentation provided)
currency long (no documentation provided)

Type invoiceTaxAmount

Represents the pre-calculated tax amounts on a bill or invoice. This is computed server side when the invoice or bill is saved.

Attributes

name type description
amount long Total amount of this tax included in the invoice.
registrationNumber string Registration number (if any) for this tax that was put on file. Only really valid for an invoice.
name string Tax name, e.g. GST, HST, VAT, TAX

Type item

Attributes

name type description
defaultDiscountCode string (no documentation provided)
creditAccount long The credit account is an income account which is credited when we sell the item.
tracked boolean (no documentation provided)
cogsAccount long (no documentation provided)
business long (no documentation provided)
id long (no documentation provided)
debitAccount long The debit account is an expense account which is debited when we buy the item.
defaultSellRate decimal (no documentation provided)
category long (no documentation provided)
inventoryAccount long (no documentation provided)
readOnly boolean (no documentation provided)
description string (no documentation provided)
defaultBuyRate decimal (no documentation provided)
name string (no documentation provided)
defaultTaxCode string (no documentation provided)
removed boolean (no documentation provided)
defaultNote string (no documentation provided)

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded (no documentation provided)
sku (string) 0/1 (no documentation provided)

Type itemCategoryInfo

Child Elements

name (type) min/max
occurs
description
business (long) 0/1 (no documentation provided)
children (itemCategoryInfo) 0/unbounded (no documentation provided)
defaultAccount (long) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
items (item) 0/unbounded (no documentation provided)
name (string) 0/1 (no documentation provided)
parent (long) 0/1 (no documentation provided)
readOnly (boolean) 1/1 (no documentation provided)

Type journalEntries

Return value for some methods that returns the balances of the account at the end of the list of journal entries as well as the list. This makes it possible for the client to display a running total balance. Important notes: The running balance for a given journal entry is equal to the provided balance with the matching currency (or zero if none is given) MINUS the amount of any journal entry LATER in the array with the same currency. All the balances given are CREDIT balances, as are the amounts in the journal entries. For display purposes these should be multiplied by -1 if the account is a debit account (i.e. account.getType().isNormalBalanceCredit() == false)

Child Elements

name (type) min/max
occurs
description
balances/balance (balance) 0/unbounded (no documentation provided)
journalEntries/journalEntry (journalEntry) 0/unbounded (no documentation provided)

Type journalEntry

An entry in the General Journal.

Attributes

name type description
record long (no documentation provided)
account long (no documentation provided)

Type lineItem

An line item on an invoice or bill.

Attributes

name type description
id long (no documentation provided)
rate decimal (no documentation provided)
item long (no documentation provided)
account long (no documentation provided)
quantity decimal (no documentation provided)
taxCode string (no documentation provided)
note string (no documentation provided)

Type link

Attributes

name type description
rel string A string describing the relationship between this entity and the target of the link.
type string (no documentation provided)
href string A URL for the target resource of the link. This is a relative URL (relative to the current document). However, since we always return a string starting with '/' this is always relative to the current host.

Type linkedBusinessData

Attributes

name type description
numberOfCustomers long (no documentation provided)
numberOfTransactions long (no documentation provided)
numberOfVendors long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
business (business) 0/1 (no documentation provided)
contract (subscription) 0/1 (no documentation provided)
acl/businessUserRole (businessUserRole) 0/unbounded (no documentation provided)

Type manualAdjustmentRecord

Corresponds to an "Adjusment" in the user interface. This is used for accountant's adjustments that aren't handled appropriately by other record types. An adjustment must be internally balanced; that is, the sum of all the adjustments (grouped by currency) must be zero.

Child Elements

name (type) min/max
occurs
description
adjustments/adjustment (adjustment) 0/unbounded (no documentation provided)

Type myAppStoreSubscriptionInfo

Child Elements

name (type) min/max
occurs
description
appStoreAssignedRole (role) 0/1 Role assigned by the app store to this business, if any. May be null.
business (long) 0/1 ID of the business associated with the app store provisioning operation. Null if the business has not yet been added.
businessContactInformation (contactInformation) 0/1 Contact information provided by the app store for the business. Only provided if the business is not null and the user has permission to add the new business.
id (long) 0/1 ID for this subscription

Type paymentAllocation

Attributes

name type description
amount long (no documentation provided)
id long (no documentation provided)

Type paymentAllocationIn

Includes the date, account, and exchange rate of the PaymentRecord that was allocated to an invoice, which makes it possible to display those without fetching the actual payment record itself.
These can also be used to easily add a payment - if the PaymentAllocationIn included with an invoice or bill when saved has a null paymentRecord and the date, account, and amount are non-zero and non-null the server will add a new payment record and assign the paymentRecord to the new payment's id.

Attributes

name type description
payment long ID of the record representing the payment.
exchangeRate double Exchange rate used for the payment Copied from the payment record
paymentRefNum string Payment reference number Copied from the payment record
paymentMemo string Payment memo Copied from the payment record
account long Account used for the payment (i.e. a bank, credit card, or cash account) Copied from the payment record
date string Date of the payment Copied from the payment record

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded URIs for related RESTful resources associated with this payment allocation, including the associated record, currency, and accounts.

Type paymentAllocationOut

An outbound payment allocation; this allocation information is included when transmitting either a bill or invoice payment record.
When saving a record, set the amount of an allocation to zero to remove it.
When getting a record this includes the date and balance due of the BaseInvoiceRecord that a payment was allocated to, which makes it possible to display those without fetching the actual record itself. There's no need to set these fields when saving a record, they will be ignored.

Attributes

name type description
record long ID of the record that is being paid.
invoiceDate string Date of the invoice (or bill) being paid, included for convenience when fetching a record.
invoiceNumber string Copy of the invoice number for the invoice being paid.
payableOrReceivableAccount long Payable/receivable account of the invoice being paid so that we can show the "accounts affected".
balanceDue long Get the balance due on the invoice that was paid. This is always AFTER this payment allocation was applied.

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded URIs for related RESTful resources associated with this payment allocation, including the associated record, currency, and accounts.

Type paymentMethod

Possible Values

value description
CASH
CHEQUE
CREDIT_CARD
DEBIT_CARD
WIRE_TRANSFER
EFT

Type paymentRecordInfo

Attributes

name type description
amount long (no documentation provided)
byCheck boolean (no documentation provided)
creditAccount long If the payment is not fully allocated, the excess goes into this credit account. If this is null, the default accounts payable or accounts receivable account will be used as a default.
method string (no documentation provided)
unallocatedAmount long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
allocations/allocation (paymentAllocationOut) 0/unbounded (no documentation provided)
link (link) 0/unbounded (no documentation provided)

Type paymentSetup

Attributes

name type description
statusString string (no documentation provided)
logoUrl string (no documentation provided)
method paymentMethod (no documentation provided)
label string (no documentation provided)
processorName string (no documentation provided)
paymentInformationAvailable boolean (no documentation provided)
errorString string (no documentation provided)
setupUrl string (no documentation provided)

Type privilege

Available privileges. A user has the union of all privileges of the roles they have for a given business. Privileges are not set directly; rather, the roles of the user are set on the business and privileges are computed from that.

Possible Values

value description
ADD
ADD_ACCOUNTS
ADD_CONTACTS
ADD_ITEMS
ADD_JOURNAL_ENTRIES
ADD_RECORDS
ADD_USERS
CHANGE
CHANGE_ACCOUNTS
CHANGE_CONTACT_INFO
CHANGE_CURRENCY
CHANGE_YEAR_END
CHANGE_ITEMS
CHANGE_JOURNAL_ENTRIES
CHANGE_NAME
CHANGE_RECORDS
CHANGE_REGION
REMOVE
REMOVE_ACCOUNTS
REMOVE_BUSINESS
REMOVE_ITEMS
REMOVE_JOURNAL_ENTRIES
REMOVE_RECORDS
REMOVE_RELATIONSHIPS
REMOVE_ROLES
REMOVE_USERS
VIEW
VIEW_ACCOUNTS
VIEW_RECORDS
VIEW_ITEMS
VIEW_JOURNAL_ENTRIES
VIEW_RELATIONSHIPS
VIEW_USERS
CHANGE_CONTACTS
REMOVE_CONTACTS
VIEW_CONTACTS
ADD_TAXES
REMOVE_TAXES
CHANGE_TAXES
VIEW_TAXES
CHANGE_TAX_CODES
VIEW_CHANGESETS
ADD_COMMENTS
ADD_ATTACHMENTS
ADD_TAGS
REMOVE_TAGS
VIEW_REPORTS
CHANGE_ROLES
BANK_RECONCILIATION
CHANGE_TIME_ZONE
CHANGE_CONTRACT
VIEW_ACCOUNT_BALANCES
VIEW_CONTRACT
ADD_PAYMENT_PROCESSORS
VIEW_PAYMENT_PROCESSORS
CHANGE_PAYMENT_PROCESSORS
REMOVE_PAYMENT_PROCESSORS
ADD_PLANS
CHANGE_PLANS
REMOVE_PLANS
VIEW_PLANS
ADD_SUBSCRIPTIONS
CHANGE_SUBSCRIPTIONS
VIEW_SUBSCRIPTIONS
REMOVE_SUBSCRIPTIONS
VIEW_PAYMENT_INFORMATION
CHANGE_PAYMENT_INFORMATION
REMOVE_PAYMENT_INFORMATION
COMMENT_ON_RECORDS
ATTACH_FILES_TO_RECORDS
COMMENT_ON_CONTACTS
ATTACH_FILES_TO_CONTACTS
STORE_FILES
READ_FILES
VIEW_EMAIL_SETTINGS
CHANGE_EMAIL_SETTINGS
SEND_EMAIL
VIEW_FRESHBOOKS
CHANGE_FRESHBOOKS
REMOVE_FRESHBOOKS
CHANGE_FEATURES
VIEW_SITE_CONFIGURATION
CHANGE_SITE_CONFIGURATION
VIEW_BOOKINGCALENDAR
CHANGE_BOOKINGCALENDAR
VIEW_TEXT_FILE_DATA
CHANGE_TEXT_FILE_DATA
VIEW_TEMPLATES
CHANGE_TEMPLATES
CHANGE_BUSINESS_SETTINGS
VIEW_BANK_RECONCILIATION
PRINT_CHECKS
VIEW_CHECKS
SYNC

Type record

Record is a base class of the various financial transaction records that can be entered into the system. Subclasses of record include invoices, bills, payments, transfers, and adjustments. For more information about those records, consult the documentation of the appropriate subclass. To specify the type of record you are sending in a JSON request, set a field "type" equal to the XML element of the subclasses' XML format.

Attributes

name type description
memo string (no documentation provided)
exchangeRate double (no documentation provided)
number string (no documentation provided)
collaborationContext long (no documentation provided)
date string (no documentation provided)
contact long (no documentation provided)
business long (no documentation provided)
currency string (no documentation provided)
id long (no documentation provided)
readOnly boolean (no documentation provided)
contactName string (no documentation provided)
account long (no documentation provided)
removed boolean (no documentation provided)

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded (no documentation provided)

Type recordTemplate

Attributes

name type description
id long (no documentation provided)
text string (no documentation provided)
label string (no documentation provided)
type recordTemplateType (no documentation provided)
business long (no documentation provided)

Type recordTemplateType

Possible Values

value description
INVOICE
PAYMENT

Type recordType

Possible Values

value description
INVOICE
TRANSFER
ADJUSTMENT
BILL
BILL_PAYMENT
INVOICE_PAYMENT
YEAR_END_ADJUSTMENT

Type regionInfo

Child Elements

name (type) min/max
occurs
description
country (string) 0/1 (no documentation provided)
currency (string) 0/1 (no documentation provided)
districtOrCounty (string) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
provinceOrState (string) 0/1 (no documentation provided)

Type role

Possible Values

value description
CREATOR
OWNER
ADMIN
VIEW_EDIT_ONLY
VIEW_ONLY
NO_ACCESS

Type serviceAnnouncementInfo

Attributes

name type description
startDate dateTime (no documentation provided)
preContent string (no documentation provided)
creatorId long (no documentation provided)
content string (no documentation provided)
title string the title of the announcement
duration int the duration of Service Announcement in minutes
testerEmailFilter string The list of email filters in String format
preWindowLeadTime int The lead time of pre-window announcement to be displayed on the website in hours
regularUserPolicy serviceAnnouncementUserPermission (no documentation provided)
popUpLeadTime int The lead time for the announcement to be pushed to logged in users as an alert pop-up in minutes

Child Elements

name (type) min/max
occurs
description
id (long) 0/1 (no documentation provided)

Type serviceAnnouncementUserPermission

Child Elements

name (type) min/max
occurs
description
label (string) 0/1 (no documentation provided)

Possible Values

value description
FULL
READONLY
NOACCESS

Type subscription

Attributes

name type description
lastPayment string (no documentation provided)
startDate string (no documentation provided)
planName string (no documentation provided)
nextPaymentAmount long (no documentation provided)
planChangeDate string (no documentation provided)
expired boolean (no documentation provided)
linkedPaymentAccount long (no documentation provided)
invoice long (no documentation provided)
billingEmail string (no documentation provided)
contact long (no documentation provided)
business long (no documentation provided)
version int (no documentation provided)
id long (no documentation provided)
billingContact string (no documentation provided)
nextPaymentAttempt dateTime (no documentation provided)
lastPaymentAmount long (no documentation provided)
lastPaymentAttempt dateTime (no documentation provided)
paidUntil string (no documentation provided)
features string (no documentation provided)
nextPayment string (no documentation provided)
processor long (no documentation provided)
nextMonthlyInvoiceDate string (no documentation provided)
pendingPlan long (no documentation provided)
expiryDate string (no documentation provided)
lastPaymentCurrency string (no documentation provided)
failedPaymentTransactionId long (no documentation provided)
message string (no documentation provided)
plan long (no documentation provided)
nextAnnualInvoiceDate string (no documentation provided)
paymentFailed boolean (no documentation provided)
removed boolean (no documentation provided)
linkedContact long (no documentation provided)
currentPlanStartDate string (no documentation provided)
lastAutomaticMessageSent string (no documentation provided)
paymentInformationAvailable boolean (no documentation provided)
linkedExpenseAccount long (no documentation provided)
billingName string (no documentation provided)
billingPhone string (no documentation provided)
nextPaymentCurrency string (no documentation provided)

Type subscriptionPaymentMethodInfo

Child Elements

name (type) min/max
occurs
description
deprecated (boolean) 1/1 If true, this payment method will only be displayed if there is payment information available for it - otherwise it is hidden and the user must use a non-deprecated payment method to pay.
id (long) 0/1 (no documentation provided)
label (string) 0/1 (no documentation provided)
paymentMethod (paymentMethod) 0/1 (no documentation provided)
plan (long) 0/1 (no documentation provided)
processor (long) 0/1 (no documentation provided)
removed (boolean) 1/1 (no documentation provided)

Type subscriptionPlanInfo

Rather than configure every subscription individually, we configure the subscription plan and each subscription is a assigned a plan. The plan specified the automatically scheduled emails, the fees, trial end, expiry date, and so on which the subscription uses to update itself.

Child Elements

name (type) min/max
occurs
description
account (long) 0/1 (no documentation provided)
annualPrice (int) 1/1 (no documentation provided)
business (long) 0/1 (no documentation provided)
currency (string) 0/1 (no documentation provided)
description (string) 0/1 (no documentation provided)
expiryDays (int) 1/1 (no documentation provided)
features (string) 0/1 (no documentation provided)
followingPlan (long) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
messages (collection) 0/1 (no documentation provided)
monthlyPrice (int) 1/1 (no documentation provided)
name (string) 0/1 (no documentation provided)
paymentMethods (subscriptionPaymentMethodInfo) 0/unbounded (no documentation provided)
removed (boolean) 1/1 (no documentation provided)
startupPrice (int) 1/1 (no documentation provided)
subscriptions (collection) 0/1 (no documentation provided)
taxCode (string) 0/1 (no documentation provided)

Type syncClientInfo

Attributes

name type description
id long (no documentation provided)
business long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
link (link) 0/unbounded (no documentation provided)

Type tax

TaxInfo is the client-side representation of a tax (a sales tax). Each sales tax has a rate (a percentage) and possible a previous rate and an effective date which smooths rate changeovers. Some sales taxes are only there to help with calculations during data entry, but the taxes are not remitted so they are not recorded into their own accounts. Other taxes are recorded into their own accounts. Taxes collected go into the taxes payable (to the government) account, and taxes paid go into the taxes receivable (from the government) account; each specific to that tax so you can file and remit each tax separately. Taxes typically have a registration number which must be shown on invoices including that tax so that customer can confirm the validity of the business' ability to collect that tax. In Canada, there are both provincial and federal taxes, and in two provinces, the provincial taxes are charged on top of the federal taxes. To support this, the appliesToAmountAfterPreviousTaxes flag indicates that the tax applies to the amount after the previously applied taxes. When these taxes are applied to an amount, the order the taxes are listed becomes significant; otherwise, the order is not relevant when using multiple taxes. For more about QST, see: http://www.revenu.gouv.qc.ca/eng/entreprise/taxes/tvq_tps/info.asp For more about Canadian Sales Taxes, see: http://en.wikipedia.org/wiki/Sales_taxes_in_Canada

Attributes

name type description
business long Associated business
version int (no documentation provided)
id long (no documentation provided)
rate double Current rate. This could be a future rate, if effectiveDate is in the future.
expenseAccount long Account whose balance is the amounts of this tax we've recorded which were not eligible for rebate from the government. For example, in Canada you can only claim 50% of the GST paid as a GST rebate from the government. So, at the year-end you adjust the GST Receivable so that 50% of GST incurred from Meals and Entertainment goes into GST Expense and the rest is claimed from the government.
description string A helpful note to remind the user what this tax is and when he would want to apply it.
name string Name of the tax; examples: - GST - PST - VAT
effectiveDate string The date at which the current rate took effect. Any records before that date should use the previous rate by default. Note that this could be a future date if there's a tax changeover coming up and we've pre-set the effective date so that the new tax rate takes effect automatically on the day.
previousName string (no documentation provided)
lazyRounding boolean (no documentation provided)
previousShortName string (no documentation provided)
registration string Registration number (for reference purposes only).
readOnly boolean True if the current user lack privileges to change this object.
previousRate double The previous rate is used if the date of the record is before the effective date.
payableAccount long If we collect sales taxes, there's no doubt that we must remit them to the government. This is the account where we record the current balance owing to the government.
registered boolean Only registered taxes are recorded into separate accounts. When this value is false, the tax calculation logic simply calculates paid tax amounts and adds it to the expense total. When this value if true, the tax calculation logic records paid tax amounts into seperate payable and receivable accounts so you can file for that tax. Note that when collecting taxes, you will always have to pay them to the government, so for income records the tax amounts are always recorded into a payable account. For regions that don't offer a rebate on sales tax paid, you can probably leave registered set to false; alternatively, you can set registered to true but set the payable account to an expense account.
appliesToAmountAfterPreviousTaxes boolean If true, this tax applies to the amount after the taxes that came before. For example: $100 + 5% GST, 7.5% QST results in $5.00 GST and $7.88 QST because QST applies to the previous taxes $100 + 7.5% QST, 5% GST results in $5.00 GST and $7.50 QST because the GST came after - order is important here
removed boolean True if this object has been removed from the user's view.
shortName string The "short name" is used as a shortcut for choosing a tax in the tax combo box. For example, the Canadian tax GST might have a short name of "G". This means the user can type G anywhere he may previously have typed GST.
receivableAccount long Account which records taxes receivable. When we pay out on a sales tax for which we are registered, we can typically record this as a receivable from the government, since sales taxes are applied only to consumers in the countries we currently support.

Type taxCode

Attributes

name type description
id long (no documentation provided)
expansion string (no documentation provided)
taxSystem string (no documentation provided)
income boolean (no documentation provided)
description string (no documentation provided)
name string (no documentation provided)
business long (no documentation provided)

Type transfer

Attributes

name type description
amount long (no documentation provided)
depositAccount long The transfer account is the account which is being deposited into during a transfer. For other types of record, this should be null.
depositCurrency string Destination currency of the transfer; the currency of the amount being deposited.

Type user

Attributes

name type description
serviceProviderAdmin boolean (no documentation provided)
openID string (no documentation provided)
appStore long (no documentation provided)
betaTester boolean (no documentation provided)
appStoreName string (no documentation provided)
lastPasswordReset string (no documentation provided)
activationDate string (no documentation provided)
changePasswordDisabled boolean (no documentation provided)
addBusinessRestricted boolean (no documentation provided)
id long (no documentation provided)
staff boolean (no documentation provided)
lastLogin dateTime (no documentation provided)
readOnly boolean (no documentation provided)
removed boolean (no documentation provided)
signUpDate string (no documentation provided)
accountingProfessional boolean (no documentation provided)
serviceProvider long (no documentation provided)

Child Elements

name (type) min/max
occurs
description
contactInformation (contactInformation) 0/1 (no documentation provided)
link (link) 0/unbounded (no documentation provided)

Type vatTaxInfo

VAT sales taxes. Allows several rates to be defined based on the region. Currently only a handful regions actually have rates defined:

  • Ireland
  • Switzerland
  • Iceland
  • Romania

Attributes

name type description
registered boolean (no documentation provided)
active boolean (no documentation provided)
registration string (no documentation provided)

Type versionObjectForTesting

Child Elements

name (type) min/max
occurs
description
oldField (string) 0/1 (no documentation provided)
newField (string) 0/1 (no documentation provided)

Type worldPayInfo

Child Elements

name (type) min/max
occurs
description
account (long) 0/1 (no documentation provided)
authPW (string) 0/1 (no documentation provided)
business (long) 0/1 (no documentation provided)
callbackPW (string) 0/1 (no documentation provided)
id (long) 0/1 (no documentation provided)
instId (int) 1/1 (no documentation provided)
md5Secret (string) 0/1 (no documentation provided)
remoteAdminInstId (int) 1/1 (no documentation provided)
testMode (boolean) 1/1 (no documentation provided)

Type yearEndAdjustmentRecord

This is the transfer class for the YearEndAdjustment entity type, it is currently unused because the YearEndAdjustment entity is automatically generated.

Home

REST Endpoints

SOAP Services

XML Data Elements

XML Data Types