Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Integration Set-Up
When a payment is registered in the accounting system, it should be transferred as applicable to the Posted sections of either the Accounts Payable or the Accounts Receivable modules (where the matching invoice/s can be found) in Dataloy VMS.
Since a payment in accounting systems may cover multiple Dataloy VMS payments/receipts, extracting payments from accounting means extracting invoices matching to a payment. Only payments/receipts records with a matching invoice in the applicable accounting system and with a required reference to a Dataloy invoice are to be extracted.
In Dataloy VMS all payments must match with the referenced invoice. To insert a payment/receipt in Dataloy VMS use the request under Data Transaction (below).
Data Transaction
A payment record should ONLY ever have one document line. Never more.
Amount Prefix
This matrix is showing which prefix the payment amount should have for the various cases.
Accounts Payable and Hire Payable
Accounts Receivable
Receipt (PMI)
Positive Amount
Negative amount
Payment (PMO)
Negative Amount
Positive Amount
To Post a Payment/Receipt to Dataloy VMS:
Before setting up and testing a bunker transaction integration other integrations need to be in place.
When a bunker transaction is posted in Dataloy VMS, the document status is set to Ready-for-Posting. Set up a scheduled task and use the request under Data Transaction to extract bunker transactions that are ready for posting. When a bunker transaction is transferred to accounting, update the status to Posted.
Test data for bunker transactions can be generated in Booking and Operations > Bunkers-FO tab > Bunker Transactions.
To get bunker transactions that are ready for posting in Webhooks the following subscription can be created:
Alternatively a scheduled job can be setup to use the following request:
Get bunker transactions that are ready for posting to accounting
GET /Document?filter=invoicingStatus.statusTypeCode(EQ)RFP&filter=documentType.documentType(EQ)ACC
Post Transaction
When an invoice is successfully transferred to the accounting system, the document status has to be updated to Posted in Dataloy VMS. This is done in a PUT request:
Update status to posted for a specific invoice
An exchange rate source for extracting data to be inserted in Dataloy VMS.
Base Currency must be set. Note: Locate Base Currency by getting ws/rest/System/1000000, then following relevant country link (Country Currency = the Base Currency).
Set up a task for extracting exchange rates from either an accounting system or from a source delivering exchange rates service. Then insert the exchange rate into Dataloy VMS using the request under Data Transaction (below).
To insert an exchange rate in Dataloy VMS (fields required):
Updated for using the new required date format yyyy-dd-MMThh:mi:ss to conform ISO 8601, (prior versions has date format: yyyy-dd-MM hh:mi:ss)
Post an exchange rate to Dataloy
Post Transaction
No post transaction is required.
Synchronization of business partners between Dataloy VMS and the applicable accounting system is required before transferring accounting related transactions. To synchronize business partner updates between systems, decide which system is to be the Master System (where the business partners will be updated). The Master System will then send updated business partner data to the other system.
Dataloy VMS used as master:
Dataloy recommends setting up up a . As an alternative, setup a scheduled job and use the request under Data Transaction (below) to gather all business partners data having been modified since the last time a scheduled task was run.
Dataloy VMS is not used as master: Use the requests under Data Transaction (below) to insert and update the business partners in Dataloy VMS.
Webhook
Setup for BusinessPartner, Address and ContactInfo. From Address and Contact info there is a reference back to the BusinessPartner key in the source field.
Scheduled Job (If Webhook is not an option)
Extract the business partners whose data has been modified since a selected date from Dataloy VMS using the following request in conjunction with the:
Get business partner information
Set up a scheduled job and gather all voyages that have been modified since the last time a scheduled task was run.
Check if relevant business partner/s is/are already existing in Dataloy VMS by using the following request in conjunction with the base URL:
Get business partner by key
Note: Use the Bank key if the Bank already exists. The below example is showing how to insert a new Bank when inserting a BusinessPartner
No prerequisites.
Accounting systems often require voyage related data before transferring accounting related transactions. Set up a scheduled task and use the request under Data Transaction to gather all voyages that has been modified since the last time a scheduled task was run.
Modify some existing voyages in the Booking and Operations module for testing, for example, changing a date in the schedule (note: changing dates will also affect the schedule for other voyages).
To get new voyages in Webhooks the following subscription can be created:
To get updated for all changes on a voyage the following webhook subscription can be created:
To extract all fixed voyages from Dataloy VMS that has been modified since a given date, use request below in conjunction with the base URL:
Get all fixed voyages modified since given date
No post transaction is required.
When inserting data that in the end will result in an account payable, you might want to post the invoice directly. This can be done with a couple of API calls.
To generate invoice lines you need to know the key of the voyage that your data relates to. If you dont have the voyage key already you need to get it from the API either by getting it at an earlier stage in your integration or with a separate call in this stage. If you for instance already have the port call key you can get the voyage key by doing a GET request on PortCall.
To generate invoice lines post the below request, where key is the voyage key. For multiple voyages, add multiple keys.
Then get the new invoice lines, called document lines in the API
The below endpoint will give you data that can be used when assembling the invoice. Like bank account, issuing company and so on. If you already have the data you can skip this step.
Assemble the invoice with this request
Mandatory fields: documentText, documentDate, issuingCompany, bankAccount, baseLineDate, baseLineTerms, dueDate, paymentTerms and percentage.
If payment terms percentage is 100%, there should only be one entry in documentPaymentTerms
BaseLineTerm is customer specific and needs to be agreed with customer. The baseline terms can be found at /ws/rest/BaselineTerm
PaymentTerms is customer specific and needs to be agreed with customer. The payment terms can be found at /ws/rest/PaymentTerms
The request will return the new invoice, called Document in the API. Keep the Document key to post the document in next step.
The final request will set the status to ready for posting which will cause accounting integrations to pick up the invoice and transfer it to accounting. The Document key is returned the assemble response in previous step.
The objective of accounting integration is to automate the creation and flow of transactions between the Dataloy VMS and an accounting system. The advantage is, for example, reduced risk of errors as several transactions handled by the Dataloy VMS system generates transactions to be entered in a client accounting system. An integration also allows for synchronizing the basic data entities (or Master Data, i.e. several of the same being stored and maintained in both systems) between systems. Some Master Data, for example, Business Partners, must be synchronized for the integration to work.
Accounting Integration Transactions
Transactions from Dataloy VMS to Accounting:
Sales and purchase invoices are transferred whenever an invoice/invoices is/are posted in the VMS.
Bunker transactions are transferred whenever a bunker transaction is posted in the VMS.
Vessel/Voyage information is sometimes required by Accounting before invoices and/or bunker transactions are transferred. A scheduled task for transferring this type of information to Accounting can be set up (contact Dataloy for more information).
Accruals will be transferred by users when performing period-end-closing (more information: Accruals page and the Period-End-Closing process).
Transactions from Accounting to Dataloy VMS:
Receipts and payments being transferred from Accounting to Dataloy VMS. The transaction to collect and payments and send to the VMS is either triggered by Accounting or by a scheduled task (set up by Dataloy Systems).
Exchange rates will be transferred from Accounting to Dataloy VMS. This transaction is either triggered by Accounting or by a scheduled task (set up by Dataloy Systems) to collect and retrieve the rates.
Actuals is part of the Period-End-Closing process and is usually transferred from Accounting to Dataloy VMS.
Certain integrations need to be in place before the set-up and testing of an invoice integration:
Transfer of voyage related data to the accounting system.
Synchronization of business partners between Dataloy VMS and the accounting system.
Exchange rate transfer to Dataloy VMS.
Map accounts between Dataloy VMS and the accounting system.
When invoices are posted in Dataloy VMS, the document status is automatically set to Ready-for-Posting. Set up a scheduled task and use the request under Data Transaction to extract invoices and credit notes that are ready for posting. When an invoice is transferred to accounting, update the status to Posted.
To reverse a posted invoice you need the document key and POST as in the example below
To dissolve an assembled invoice you need the document key and POST as in the example below
To get invoices that are ready for posting in Webhooks the following subscription can be created:
Alternatively, a scheduled job can be set-up to use the following request:
GET /Document?filter=invoicingStatus.statusTypeCode(EQ)RFP&filter=documentType.documentType(IN)(INI,INO,CRI,CRO)
There will be only one Document object in the API despite two payment terms for an invoice (for example 95/5 percent). However, the Document will have two documentPaymentTerms objects in the Document.documentPaymentTerms list.
To create two documents when integrating:
Loop on paymentTerms and create one document for each payment term.
Calculate the following values:
dueDate: document.documentPaymentTerms.dueDate
documentAmount: document.documentAmount * document.documentPaymentTerms.percentage / 100
companyCurrencyAmount: document.companyCurrencyAmount * document.documentPaymentTerms.percentage / 100
sourceCurrencyAmount: document.sourceCurrencyAmount * document.documentPaymentTerms.percentage / 100
Test data for invoicing integration can be generated in the Dataloy VMS post fixture modules (Accounts Receivable, Accounts Payable and Hire Payable).
When an invoice is successfully transferred to an accounting system, the document status must be updated to Posted in Dataloy VMS. This is done in a PUT request:
Before setting up and testing an invoice integration other integrations need to be in place:
When accruals have been verified and posted in Dataloy VMS, the document status is set to Ready-for-Posting.
More information, go to Accruals and Period-End-Closing.
To get accruals that are ready for posting in Webhooks the following subscription can be created:
Alternatively, a scheduled job can be setup to use the following request:
Get accruals and accrual reversals that are ready for posting to accounting
GET /Document?filter=invoicingStatus.statusTypeCode(EQ)RFP&filter=documentType.documentType(IN)ACP,ACR
Test data for accruals integration can be generated in the Accruals module in Dataloy VMS. Generate and batch post the accruals.
When an accrual is successfully transferred to an accounting system, the accrual status must to be updated to Posted in Dataloy VMS. This is done in a PUT request:
Update status to posted for a specific invoice
Document Status Code
Document Status Description
Description
PEN
Pending
INV
Approval
RFP
Ready-For-Posting
POS
Posted
Field Name
Description
Not possible to user in filters
documentAmount
For /DocumentTypes INO, INI, CRI, CRO: Amount in order currency/sales currency. The original currency.
For /DocumentTypes PMI, PMO: Amount in Invoice Currency.
For /DocumentTypes ACR, ACP: Amount in Voyage Currency.
For /DocumentTypes APR: Amount in Advance Currency
For /DocumentTypes ACC: Amount in Invoice Currency (use Voyage currency if Invoice Currency is not present)
companyCurrencyAmount
For all /DocumentTypes : Amount in Company Currency for the Document.Company.
sourceCurrencyAmount
For /DocumentTypes INO, INI, CRI, CRO: Amount in order currency/sales currency. The original currency.
For /DocumentTypes PMI, PMO: Amount in Original Payment Currency.
For /DocumentTypes ACR, ACP: Amount in Voyage Currency.
For /DocumentTypes APR: Amount in Advance Currency
For /DocumentTypes ACC: Amount in Voyage Currency
documentCurrency.currencyCode
Currency Code for documentAmount. More information, see documentAmount
sourceCurrencyCode
Currency code for sourceCurrencyAmount. More information see sourceCurrencyAmount
exchangeRate
Exchange Rate between documentAmount and sourceCurrencyAmount
exchangeRateDate
Exchange Rate Date
glAccount
General Ledger Account
X
quantity
Has Different Meaning Depending on Document Type:
Accruals - Onhire Days Within Accrual Period
Bunkers - Bunker Quantity
Freight - Cargo Quantity
Charter Hire - Days
Meals and Cables - Days
VAT - VAT Amount is Quantity * vatRate
Various, Days - Voyage Days
Various, Rate - Cargo Quantity
Offhire - Offhire Days
Deadfreight - Deadfreight Quantity
Demurrage/Despatch - Days
unitPrice
Unit Price. Quantity * Unit Price = Document Amount
invoicingStatus.statusTypeCode
documentLineText
Document Line Text/Description
businessPartner
Business Partner Object. (Value: businessPartnerCode or businessPartner Key).
Invoice and Payment/Receipt:
Outgoing invoice:
document.company is the company in Dataloy VMS issuing the invoice.
document.businessPartner is the business partner receiving the invoice.
On the referring payment, document.company is receiving the payment.
Incoming invoice:
document.businessPartner is issuing the invoice.
document.company is receiving the invoice.
On the referring payment document.company is the one paying the invoice.
isAccountsPayable
refDocument
Referring Document for Reversals, Payments and Receipts. To set refDocument use Document Number or Key.
Payment/Receipts: Setting refDocument for payment receipts, documentLine.voyage will be set equal to the documentLine.voyage of the referring invoice.
vatRate.vatRate
VAT Rate
vatRate.vat.vatCode
VAT Code
freightRate
Freight Rate Object
portCall
portCall Object
handlingCost
handlingCost Object
businessUnit
businessUnit Object
account
Account Object, use glAccount instead
handlingCostCode
handlingCostCode Object, use glAccount instead
billOfLading
billOfLading Object
claim
Claim Object
offhire
Offhire Object
voyage
Voyage Object
Bank Fields List
Field Name
Description
Required
Unique
Not Possible to Set in Filters
bankName
Bank Name
Yes
swiftAddress
SWIFT Code
Yes
Yes
chip
Chip ID
abaNumber
ABA Code
Address
X
Contact Info
X
Invoice is in the Pending section of either (AP), (AR) or (HP) in Dataloy VMS.
Invoice is in the Assembled section of either (AP), (AR) or (HP) in Dataloy VMS.
Invoice is in the Posted section section of either (AP), (AR) or (HP) in Dataloy VMS, but has not yet been transferred to an accounting system.
Invoice is in Posted section of either (AP), (AR) or (HP) in Dataloy VMS and has been transferred to an accounting system.
Status Code, see
false = Accounts Receivable, true = Accounts Payable Inserting Payment/Receipt: For payments referring to invoices set value to 0. For payments referring to invoice set value to 1. This value should always have the same value as for the referring invoice.
Invoice Integration needs to be in place before setting up and testing actuals integration.
Transfer of actuals (or physicals) from Accounting to Dataloy VMS can either be setup as a manual task through the Period-End-Closing Process or as a scheduled task. Actuals in accounting are actual costs and revenues, and once entered into Dataloy VMS, the actual record will appear in the Posted section of the Accruals module. Bunker transactions in Accounting that has been transferred from Dataloy VMS are not to be transferred, as they are already treated as actuals in Dataloy VMS (more information: actuals and accruals page and the Period-End-Closing process.
To insert an actual in Dataloy VMS:
An actual record should ONLY ever have one document line. Never more.
The document date should be the first day of the period month.
Client can choose to insert actuals one by one or group actuals by period, currency, voyage, account and company
Set a unique document number (documentNo).
Use request:
Updated for API version 2.0.0 using the new required date format yyyy-dd-MMThh:mi:ss to conform ISO 8601, (prior versions has date format: yyyy-dd-MM hh:mi:ss).
Post an actual to Dataloy
No post transaction is required.