Business Use Cases
Sales Invoicing Integrations
Any business, especially those with high volumes of sales, can benefit from integrating their sales invoicing process. Schedule transactions to flow automatically from your chosen CRM into AIQ, without your sales team ever having to leave their system.
Entering data in one place, not only prevents time wasting double-entry, it also reduces the risk of data records not being in agreement. In addition, regular syncing schedules can ensure you are always working with the most current data.
Our Integration Partners
Sales invoicing is the most popular way our integrators use our API. Sales invoicing integrations are often also part of a complete pay-to-purchase routine that includes handling receipts, allocations, and payments.
The following are some of our partner integrators who use our API for sales invoicing:
In addition, our development team offer managed integrations. If you would like to explore this customised option further, please get in touch at sales@accountsIQ.com or support@accountsIQ.com.
Integration First Steps
Prior to creating invoices, complete the following where necessary.
Create Customers
Before you can proceed with invoicing customers, they must be present in the system. You can use the following to add and update customer records.
GetNewCustomerFromDefaults
: This lets you create a new customer using the defaults that already exist in the system. However, the customer is not yet saved.UpdateCustomer
: Use this to save the customer you just created or updated.
Check Customer Credit
It is important to check if your customers have sufficient credit to decide if you want to sell to them.
GetCustomersStatement
: This lets you see the customer’s credit record in your CRM. View payment history, outstanding payments, balances, and any aging. You can use this to decide whether keep this customer.GetAccountBalanceInformation
: Use this if you just want to keep credit limits in sync and don’t need the extra information thatGetCustomerStatement
provides.
Check if an Invoice already exists
If you try to create an invoice that already exists you could get an error.
GetInvoicesByExternalReference
: Use this to check if an invoice already exists before creating a new one.
It is best practice to use external references where possible as they track transactions and help avoid duplication. An external reference can be named the same as in the other system, meaning that the transaction can be tracked easily in both systems.
Standard Invoicing
Once you have completed the preliminaries, you are now ready to invoice your customers.
Best Practice: Use Transaction IDs
Use endpoints that return transaction IDs where possible. Recording the transaction ID in the third-party system creates another level of traceability in your CRM, along with the corresponding external reference. These can be matched for validation.
Once the transaction ID is recorded in the third-party system, you cannot modify that invoice, or the systems will be out of sync.
Batch Invoices
Batch invoices go straight to the transaction tables rather than going to the invoice table first, making them slightly faster than item invoices.
AIQ Help:
Batch invoicing is recommended if you follow VAT calculations from another system, as it avoids the slight rounding that can occur with item invoices.
GetNewBatchSalesInvoice
: This creates a new unposted batch invoice with the customer’s defaults. You cannot edit batch invoices.CreateBatchSalesInvoiceGetBackTransactionID
: After creating a batch, use this to post it.
Item Invoices
Use item invoicing if you need extra header details, such as order numbers, delivery dates, line notes, or item codes. Item codes can be useful as they let you store defaults against them.
AIQ Help:
GetNewSalesInvoice
: The first gives you with a new template invoice with the defaults of the customer code you provided. You can then modify data and create invoice lines.SaveInvoiceGetBackInvoiceID
: This saves the invoice and returns the transaction ID. However, it has not been posted yet.PostInvoiceGetBackTransactionID
: Use this to post the transaction you created.
Customised Invoices and Statements
With the API, you can attach a detailed invoice breakdown for the customer in CSV or Excel format. This is useful if you are invoicing a customer for multiple jobs but still want a summarised invoice. You can then send on the invoice and attachment to the customer.
AttachDocument
: When you create an invoice, use this to attach an Excel or CSV file.GetInvoicePDFByTransactionID
: This lets you retrieve a PDF of the invoice. If you have an emailing facility in your CRM, you could opt to email it via that option.
Back-to-Back Invoicing
Back-to-back invoicing refers to a situation where a purchase and sales invoice are raised at the same time.
For example, an employment agency could raise:
- a purchase order to pay a contract for labour.
- a sales invoice with a percentage markup to bill the customer.
Use BI Codes
If your invoicing requires complex transactions, BI codes (called Departments in the API) can help manage this process. Setting up and managing complex BI structures via the API is much more manageable than doing it manually.
AIQ Help:
BI Codes can have up to six BI dimensions, each with as many elements as needed. They can be based on data from the customer, item code, a third-party system, or a combination.
BI Codes are linked to transaction lines which in turn link them to dimensions and analysis codes via the BI Setup. This underpins all advanced reporting in the system.
If a third-party system doesn’t have a GL code to post from, use non-stock items to set default BI and GL codes, even if you don’t use them on the invoice.
GetAnalysisDimensionSetup
: This returns the entire BI setup with each BI Dimension and their underlying codes.GetDepartmentById
: This lets you search by BI Code.GetDepartmentList
: This returns available BI Codes, both active and inactive.GetDepartmentsByAnalysisCode
:This lets you search by dimension.UpdateDepartment
: This modifies the description and active status of a Department. Use this when you wish to retire a code or update its description.
Deferred Revenue
Deferred revenue refers to when a company bills a customer in full but wants to record the revenue over multiple periods. When the company receives the revenue in one go, they can split it into twelve parts to account for it being earned over the course of the year.
AIQ Help:
Use a Deferred Revenue Journal
Deferred revenue can be accounted for with a deferred revenue journal.
First, create a standard invoice for the full amount with today’s date (see Standard Invoicing, above). Then post it to a reserved or deferred revenue journal and create twelve journal entries. To account for the income over the year, take one journal entry back each month.
CreateGeneralJournalGetBackTransactionID
: This creates new GL journal.
Intercompany transactions
Intercompany transactions cannot be created automatically via the API. You must create them in two separate steps.
AIQ Help:
First, get a list of valid intercompany connections so you can replicate the relevant one. Then create a sales invoice in one entity and a corresponding purchase invoice in the other entity.
GetInterCompanyConnectionList
: This returns a list of valid intercompany connections. Using the data from the intercompany connection list helps you replicate the connection.GetNewSalesInvoice
: The first gives you with a new template invoice with the defaults of the customer code you provided. You can then modify data and create invoice lines.GetNewPurchasesInvoice
: This creates a new invoice with the supplier defaults.SaveInvoiceGetBackInvoiceID
: This saves the invoice and returns the transaction ID. However, it has not been posted yet.PostInvoiceGetBackTransactionID
: Use this to post the transaction you created.