{"info":{"_postman_id":"7c229ea0-9f24-4554-a999-09e8c68b9d4c","name":"Introduction to AutoCollect API","description":"<html><head></head><body><p>AutoCollect API is a REST-API pluss a SOAP-API for debt-collection.</p>\n<p>The API support a set of processes which constitutes a complete solution for a debt-collection service.</p>\n<p>This document describes these processes and API call connected.</p>\n<p>For a complete desciption of all API-endpoints and objects and fields see our <strong>Swagger</strong>. URL is descibed in section URLs.</p>\n<p>The documentation is constantly being maintained and expanded based on users feedback. Feel free to give us feedback if you are missing something in the documentation. It is important for us to give you the easiest experience possible when developing towards our API.</p>\n<h4 id=\"about-autocollect-api\">About AutoCollect API</h4>\n<p>You can send:</p>\n<ul>\n<li>New Creditor</li>\n<li>Invoices</li>\n<li>Direct payments and credits</li>\n<li>Change request</li>\n<li>Message to casehandler</li>\n</ul>\n<p>You can request and receive:</p>\n<ul>\n<li>Case information</li>\n<li>Settlements</li>\n</ul>\n<img src=\"https://content.pstmn.io/493f9351-19da-4350-8a1c-8c77131fd773/c2VuZF9yZWNlaXZlIEFQSS5wbmc=\" alt=\"send/receive\"></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"27073695","collectionId":"7c229ea0-9f24-4554-a999-09e8c68b9d4c","publishedId":"2s93eYVsAw","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"E70641"},"publishDate":"2023-05-08T13:35:49.000Z"},"item":[{"name":"Processes","item":[],"id":"5ef2d7bd-315e-485f-b234-417a9cd9bfa1","description":"<p>There are a set of processes where the API can be used. There is optional witch processes you implement.</p>\n<p>Note that process for sending payments/credits is mandatory.</p>\n<p>The processes are:</p>\n<p><strong>Register as a new creditor</strong></p>\n<p>Here the API is used to register a company as a new customer/creditor.</p>\n<p>When the client is ready for the next process a e-mail is sent to the registered contact person.</p>\n<p><strong>Sending invoices to reminding or debt-collection</strong></p>\n<p>When the company is confirmed as a new creditor from the above process, invoices can be sent to reminding/debt-collection. 1 or multiple invoices can be sent in the same API call.</p>\n<p><strong>Sending payment or credits on invoices sent to reminding/debt-collection</strong></p>\n<p>If a invoice is sent for reminding/debt-collection all payments or credits matched to invoice must be sent to the API endpoint. This process is mandatory.</p>\n<p><strong>Sending change request and message to casehandler</strong></p>\n<p>A set of changes can be made to an invoice sent to reminding/debt-collection. Like setting a case on hold, closing a case.</p>\n<p>Also message can be sent to casehandler.</p>\n<p><strong>Getting case information</strong></p>\n<p>ERP system can be updated with info from the reminding/debt-collection case. For example casenumer, status.</p>\n<p><strong>Getting settlements</strong></p>\n<p>When end-customer make a payment on a reminding/debt-collection case the payment infomation is availible using the API. The settlement has information so a accounting can be done in ERP. Amounts are split so the invoice can be paid, income and expenses can be accountet in GL.</p>\n","_postman_id":"5ef2d7bd-315e-485f-b234-417a9cd9bfa1"},{"name":"Recommended usage","item":[],"id":"f14d6c69-9760-43a3-9806-0d2615cd9606","description":"<h4 id=\"onlineoffline\">Online/Offline</h4>\n<p>When sending invoices, payments or change-request a paramter can be set to flag if the API will do a check on all received items. By setting the paramter \"offline\" to \"true\" these checks will be skipped giving a much better response time.</p>\n<p>We recommend setting \"offline\"=\"true\" in a production environment and setting \"offline\"=\"false\" in test environment.</p>\n<h4 id=\"identifying-the-erp-system\">Identifying the ERP-system</h4>\n<p>To simplify our support we recommend that the parameter \"senderid\" should set to a value identifying what type of ERP-system is used and also a short form of the client-id/name/orgno. Example \"VBUS-234567887</p>\n<p>When register a new creditor using the API the field \"sourceid\" should be set to correct value. See Swagger for values.</p>\n<h4 id=\"identify-which-process-you-are-using\"><strong>Identify which process you are using</strong></h4>\n<p>We recommend that you set a text in field \"batchid\" identifying the process. Example \"Post Invoices\", \"Post Payments\".</p>\n<h4 id=\"sending-multiple-invoicespayments-in-1-request\">Sending multiple invoices/payments in 1 request</h4>\n<p>In a \"POST batch\" multiple invoices, payments or actions can be posted. For example the user can mark multiple invoices to send to AutoCollect in the client system. Here all marked invoices can be sent in 1 request to AutoCollect.</p>\n<p>The same for payments/credits. If the client system runs a job to get new payments/credits all can be sent in 1 request using POST batch</p>\n","_postman_id":"f14d6c69-9760-43a3-9806-0d2615cd9606"},{"name":"Design pattern","item":[],"id":"b8fa799d-cd16-4502-93ed-6aa3315da83c","description":"<h2 id=\"http-verbs\">HTTP verbs</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Verb</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>GET</td>\n<td>Retrieve data of an entity or a list of entities.</td>\n</tr>\n<tr>\n<td>POST</td>\n<td>Create a new entity or a list of entities.</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td>Update an existing entity or a list of entities.</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td>Remove an existing entity or a list of entities</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"messages\">Messages</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type</strong></th>\n<th><strong>Protocol</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Ping</td>\n<td>REST/SOAP</td>\n<td>Used for connectivity testing</td>\n</tr>\n<tr>\n<td>Batch</td>\n<td>REST/SOAP</td>\n<td>Send or receive data to Autocollect</td>\n</tr>\n<tr>\n<td>Attachment</td>\n<td>REST/SOAP</td>\n<td>Get attachment</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"ping\">Ping</h2>\n<p>Used for connectivity tests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameters</th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><strong>Test to send in and return from the method</strong></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"batch\">Batch</h2>\n<p>Method to send data and receive data. All data is collected in an envelope (batch) labeled with id (batchid) and submitted either as a JSON to WebApi or as a SOAP to WebService.</p>\n<h5 id=\"webapiwebservice-post\">WebApi/WebService POST</h5>\n<p>Batch is submitted as a JSON / SOAP.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameters</th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>senderid</strong></td>\n<td>This is a freely chosen text.  <br />The purpose of this is to enter an ID that identifies the delivery system/installation. Example: VismaERP</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>WebApi/WebService GET</strong></p>\n<p>Receives a batch as a JSON/SOAP.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameters</th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>senderid</strong></td>\n<td>Freely chosen text. The purpose of this is to identify who's using the API.  <br />Example: VismaERP</td>\n</tr>\n<tr>\n<td><strong>creditorid</strong></td>\n<td>Organization number or customer number</td>\n</tr>\n<tr>\n<td><strong>customerref</strong></td>\n<td>If you want to extract data for only one end-customer.</td>\n</tr>\n<tr>\n<td><strong>ledgerref</strong></td>\n<td>If specified information with additional data for a specific case will be  <br />returned. If not specified all cases will be returned</td>\n</tr>\n<tr>\n<td><strong>includeclosed</strong></td>\n<td>true/1 = Include closed cases  <br />false/0 = Active cases is included. Also all cases closed last 30 days will also be included</td>\n</tr>\n<tr>\n<td><strong>lastsettlementid</strong></td>\n<td>If this has a value higher than 0, then only <strong>settlement</strong> items will be  <br />returned where settlementid is higher than the specified value.  <br />This is used to retrieve and bookkeeping new settlement / payments in the ERP</td>\n</tr>\n<tr>\n<td><strong>remittancedate</strong></td>\n<td>If this is set, only <strong>settlement</strong> rows are returned with this date</td>\n</tr>\n<tr>\n<td><strong>languagecode</strong></td>\n<td>Not in use. Can be blank</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"attachment\">Attachment</h2>\n<p>Method to get attachment.</p>\n<p>WebApi/WebService GET</p>\n<p>Receives result as JSON/SOAP. Attachment filedata base 64 encoded.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameters</th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>senderid</strong></td>\n<td>Freely chosen text. The purpose of this is to identify who's using the API.  <br />Example: VismaERP</td>\n</tr>\n<tr>\n<td><strong>creditorid</strong></td>\n<td>Organization number or customer number</td>\n</tr>\n<tr>\n<td><strong>type</strong></td>\n<td>Specify attachment type ex:  <br />1 = Settlement report</td>\n</tr>\n<tr>\n<td><strong>id</strong></td>\n<td>Specify key/id for attachment for given type ex  <br />type 1 = remittancedate (format YYYY-MM-DD)</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"b8fa799d-cd16-4502-93ed-6aa3315da83c"},{"name":"Return codes from service","item":[],"id":"474fe38e-81b1-463e-96d3-c229683316f2","description":"<p>At POST Batch, a JSON / XML object will be returned that tells whether batch submission went ok or not.</p>\n<h3 id=\"possible-values-for-statuscode\">Possible values for Statuscode</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>OK</td>\n<td>Submission went ok  <br /><strong>Errors:</strong> Empty  <br />  <br />If you are posting a change request (more details later in the documentation) there will be returned a new status. <strong>Responses</strong> will then contain a list of new status changes.  <br />  <br /><strong>Objectname:</strong> Name of the element in Json / XML  <br /><strong>Object index</strong>: Row number (base 1)  <br /><strong>Ledgerref:</strong> The unique id for invoice in erp  <br /><strong>status_statuscode:</strong> The new status text</td>\n</tr>\n<tr>\n<td>ALL_REJECTED</td>\n<td>The entire batch is rejected. Typically this happens if the validation of content fails.  <br />  <br /><strong>Errors:</strong> Contains a list of the errors that occurred  <br /><strong>Objectname:</strong> The name of the element in Json / XML  <br /><strong>Object index:</strong> The row number (base 1)  <br /><strong>message:</strong> error message  <br /></td>\n</tr>\n<tr>\n<td>PARTIALLY_UPDATED</td>\n<td>Indicates an error that is not handled by service</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"statuscode\": 0,\n\"errors\": [\n{\n\"objectname\": \"string\",\n\"objectindex\": 0,\n\"message\": \"string\"\n}\n],\n\"responses\": [\n{\n\"objectname\": \"string\",\n\"objectindex\": 0,\n\"ledgerref\": \"string\",\n\"status_statuscode\": \"string\"\n}\n]\n}\n\n</code></pre>\n","_postman_id":"474fe38e-81b1-463e-96d3-c229683316f2"},{"name":"URLs","item":[],"id":"6bbe7e1a-5520-4265-b302-abd158777189","description":"<p><strong>Test</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Function</strong></th>\n<th><strong>URL</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WebApi</td>\n<td><a href=\"https://autocollect-test.visma.com/webapi/index.html\">https://autocollect-test.visma.com/webapi/index.html</a></td>\n</tr>\n<tr>\n<td>WebService</td>\n<td><a href=\"https://autocollect-test.visma.com/webservice/VCSWebService.asmx\">https://autocollect-test.visma.com/webservice/VCSWebService.asmx</a></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Production</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Function</strong></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>WebApi</td>\n<td><a href=\"https://autocollect.visma.com/webapi/index.html\">https://autocollect.visma.com/webapi/index.html</a></td>\n</tr>\n<tr>\n<td>WebService</td>\n<td><a href=\"https://autocollect.visma.com/webservice/VCSWebService.asmx\">https://autocollect.visma.com/webservice/VCSWebService.asmx</a></td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"6bbe7e1a-5520-4265-b302-abd158777189"},{"name":"Register as an integration partner","item":[],"id":"364e4493-234d-461a-af9a-5ba408ba8d8e","description":"<p>When you first register with us you have to registrer towards our test environment.</p>\n<p>The test environment implements a lot of safeguards and simulators allowing you to test most functions without the risk of sending a test reminder to a real supplier.</p>\n<p>When your integration is ready for production you should request a new username and password to the production environment, and switch the base URL's to point to the production environment. This is explained in the chapter <strong>Ready for production</strong>.</p>\n<p>Test environment is available on both WebApi (REST, JSON) and WebService (SOAP, XML).</p>\n<p>See section <strong>URLs</strong> for addresses</p>\n<p>We use swagger as an integrated API design and documentation platform.</p>\n<p><strong>This is how you register as an integration partner</strong></p>\n<ol>\n<li>Go to <a href=\"https://autocollect-test.visma.com/creditor\">https://autocollect-test.visma.com/creditor</a></li>\n<li>Register the test customer in the form</li>\n<li>Let us know that you registered</li>\n<li>When your registration is approved you will receive an email with your username</li>\n<li>Voila - You can start developing!</li>\n</ol>\n","_postman_id":"364e4493-234d-461a-af9a-5ba408ba8d8e"},{"name":"Register a new creditor","item":[{"name":"Example","item":[],"id":"121a27ca-1d4e-4d94-b305-cd4a1f7f41f2","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VBUS-12 2023-04-24 12:54:54.345\",\n  \"offline\": false,\n  \"creditor\": [\n    {\n      \"idnumber\": \"328454729\",\n      \"parentidnumber\": \"\",\n      \"onlydebtcollection\": false,\n      \"vattype\": \"STANDARD\",\n      \"fullname\": \"Ny test company\",\n      \"street\": \"MyStreet 5\",\n      \"city\": \"MyCity\",\n      \"zipcode\": \"1000\",\n      \"countrycode\": \"no\",\n      \"emailinvoice\": \"me@testcompany.no\",\n      \"bankaccountno\": \"11111111111\",\n      \"swift\": \"\",\n      \"iban\": \"\",\n      \"message\": \"Just a test\",\n      \"contact\": {\n        \"fullname\": \"Anders Andersen\",\n        \"workphone\": \"12345678\",\n        \"email\": \"anders@testcompany.no\",\n        \"isinvoicequery\": true,\n        \"isremittancereport\": true,\n        \"isorderconfirmation\": true,\n        \"iscollectionlist\": true,\n        \"isweb\": true\n      },\n      \"contact2\": {\n        \"fullname\": \"Birger Bergersen\",\n        \"workphone\": \"87654321\",\n        \"email\": \"birger@accountant.no\",\n        \"isinvoicequery\": true,\n        \"isremittancereport\": true,\n        \"isorderconfirmation\": true,\n        \"iscollectionlist\": true,\n        \"isweb\": true\n      },\n      \"password\": \"************\",\n      \"sourceid\": 1,\n      \"vismanetcompanyid\": \"12345678\",\n      \"reminderflow\": 0,\n      \"debtcollectiontransfer\": 0,\n      \"invoicearchive\": 0,\n      \"hasforeigndebtors\": true,\n      \"hasforeigncurrency\": true,\n      \"disabled\": false\n    }\n  ]\n}\n\n\n</code></pre>\n","_postman_id":"121a27ca-1d4e-4d94-b305-cd4a1f7f41f2"}],"id":"01cea13a-d5e6-4919-b1f3-29a987cc6951","description":"<p>You can register a creditor through the API once you have the connection as an integration partner.</p>\n<p>Register a creditor in our debt collection system by sending a XML/Json.</p>\n<h5 id=\"accounting-officeprincipal-creditor\">Accounting office/Principal creditor</h5>\n<p>It is possible to register a creditor as a child of an already registered creditor.</p>\n<p>A principal creditor will then be able to submit invoices/payments/actions for all child creditors.</p>\n<p>If you want to define this you can use <strong>parentidnumber</strong> (See exemple below) and set the organization number of the parent.</p>\n","_postman_id":"01cea13a-d5e6-4919-b1f3-29a987cc6951"},{"name":"Sending invoices to reminding or debt-collection","item":[{"name":"Example","item":[],"id":"a62fcaf7-4407-4564-aeca-da6241b2cc08","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VBUS-12 2023-04-24 12:54:54.345\",\n  \"offline\": true,\n  \"invoice\": [\n    {\n      \"creditorid\": \"328454729\",\n      \"collectiontype\": \"REMINDER\",\n      \"collectionnoticedate\": \"\",\n      \"debtor\": {\n        \"idnumber\": \"344556677\",\n        \"juridicaltype\": \"COMPANY\",\n        \"customerref\": \"12345\",\n        \"firstname\": \"ACME AS\",\n        \"lastname\": \"\",\n        \"street\": \"Svingen 11\",\n        \"city\": \"Oslo\",\n        \"zipcode\": \"0201\",\n        \"countrycode\": \"no\",\n        \"phone\": \"11334455\",\n        \"email\": \"acme@acme.no\"\n      },\n      \"debt\": {\n        \"ledgerref\": \"145678945\",\n        \"referencenumber\": \"1201\",\n        \"description\": \"\",\n        \"currencycode\": \"NOK\",\n        \"billdate\": \"2023-01-24\",\n        \"duedate\": \"2023-02-09\",\n        \"originalamount\": 1000,\n        \"amount\": 1000\n      }\n    }\n  ]\n}\n\n\n</code></pre>\n","_postman_id":"a62fcaf7-4407-4564-aeca-da6241b2cc08"}],"id":"60e0c682-869e-4916-bc7d-9c5eba252815","description":"<p>You can send multiple invoices to us in a XML/Json. You can choose to mark it for reminding flow or directly to debt collection. All invoices submitted will go to a manual or automatic approval. When approved, it will be read into the debt collection system.</p>\n<p>Note that when an invoice is sent to the debt collection company, any payments or creditnotes on the customer must also be sendt</p>\n<p>Before the invoice is approved the service description returned will be <strong>Wait Import.</strong></p>\n","_postman_id":"60e0c682-869e-4916-bc7d-9c5eba252815"},{"name":"Sending payment or credits on invoices sent to reminding/debt-collection","item":[{"name":"Example","item":[],"id":"0a0e9bb6-9366-4299-a827-e1615f0b8d65","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VBUS-12 2023-04-24 12:54:54.345\",\n  \"offline\": true,\n  \"payment\": [\n    {\n      \"creditorid\": \"328454729\",\n      \"ledgerref\": \"145678945\",\n      \"paymenttype\": \"PAYMENT\",\n      \"paymentref\": \"145678945-123\",\n      \"amount\": 100,\n      \"currencycode\": \"NOK\",\n      \"paymentdate\": \"2023-04-24\",\n      \"description\": \"\"\n    }\n  ]\n}\n\n\n</code></pre>\n","_postman_id":"0a0e9bb6-9366-4299-a827-e1615f0b8d65"}],"id":"0a19b104-99d8-4c5d-ab3a-54156f438fd2","description":"<p>If an invoice is sent to the API for reminding or debt-collection, all payments and creditnotes must be sent to the API.</p>\n<p>Multiple payments on multiple invoices can be sent to us in a XML/Json. Here it must be stated whether it is a payment or a credit. The debt collection system will process a payment different from a credit. Payments and credits may be manual approved by the us. It may therefore take some time before it will be displayed on the Get Batch method.</p>\n<p>All payments and creditnotes reported to us will be returned in Get batch as settlement.These will be marked with settlementtype = CLIENT_PAYMENT</p>\n<p>Accounting on these settlements are already done in ERP so no action is required in ERP when receiving these.</p>\n","_postman_id":"0a19b104-99d8-4c5d-ab3a-54156f438fd2"},{"name":"Sending change request and message to casehandler","item":[{"name":"Example","item":[],"id":"3aa6636e-9c3b-447c-9cc3-6494a9590caa","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VBUS-12 2023-04-24 12:54:54.345\",\n  \"offline\": false,\n  \"action\": [\n    {\n      \"creditorid\": \"328454729\",\n      \"ledgerref\": \"145678945\",\n      \"actiontype\": \"DUEDDATE\",\n      \"duedate\": \"2023-02-15\",\n      \"message\": \"\"\n    }\n  ]\n}\n\n</code></pre>\n","_postman_id":"3aa6636e-9c3b-447c-9cc3-6494a9590caa"}],"id":"5b76c292-8059-4d99-9cc5-a350206234ed","description":"<p>You can request a change to a invoice registered with AutoCollect. These are the changes you can make:</p>\n<ul>\n<li>Change the due date of invoice</li>\n<li>Put invoice on hold</li>\n<li>Resume invoice after a hold</li>\n<li>Close the invoice</li>\n<li>Send a message to case handler (One-way dialogue)</li>\n<li>Transfer a invoice from reminder to debt collection</li>\n</ul>\n<p>All of the changes will be done automatically in our debt collection system. Only messages will be read by one of our case handlers.</p>\n","_postman_id":"5b76c292-8059-4d99-9cc5-a350206234ed"},{"name":"Getting Case information","item":[{"name":"Example","item":[],"id":"d27f43cb-d079-4a77-8041-2161d55eb5bb","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VCS 2023-04-24T13:24:33\",\n  \"offline\": false,\n  \"creditor\": [\n    {\n      \"idnumber\": \"328454729\",\n      \"parentidnumber\": \"\",\n      \"onlydebtcollection\": false,\n      \"vattype\": 0,\n      \"fullname\": \"Ny test company\",\n      \"street\": \"MyStreet 5\",\n      \"city\": \"MyCity\",\n      \"zipcode\": \"1000\",\n      \"countrycode\": \"no\",\n      \"bankaccountno\": \"11111111111\",\n      \"contact\": {\n        \"fullname\": \"Anders Andersen\",\n        \"workphone\": \"\",\n        \"email\": \"\",\n        \"isinvoicequery\": false,\n        \"isremittancereport\": false,\n        \"isorderconfirmation\": false,\n        \"iscollectionlist\": false,\n        \"isweb\": false\n      },\n      \"casehandler\": {\n        \"fullname\": \"Visma Inkasso Team 1\",\n        \"workphone\": \"73206007\",\n        \"email\": \"ac.vfs.no@visma.com\",\n        \"isinvoicequery\": false,\n        \"isremittancereport\": false,\n        \"isorderconfirmation\": false,\n        \"iscollectionlist\": false,\n        \"isweb\": false\n      },\n      \"sourceid\": 0,\n      \"reminderflow\": 0,\n      \"debtcollectiontransfer\": 0,\n      \"invoicearchive\": 0,\n      \"hasforeigndebtors\": false,\n      \"hasforeigncurrency\": false,\n      \"disabled\": false,\n      \"lastsettlementid\": \"0\"\n    }\n  ],\n  \"case\": [\n    {\n      \"customerref\": \"12345\",\n      \"ledgerref\": \"145678945\",\n      \"referencenumber\": \"1201\",\n      \"casenumber\": \"498527\",\n      \"currencycode\": \"NOK\",\n      \"regdate\": \"2023-04-24T00:00:00\",\n      \"isdebtcollection\": false,\n      \"originalsum\": 1065,\n      \"paidsum\": 100,\n      \"remainingsum\": 983.25,\n      \"originalprincipal\": 1000,\n      \"paidprincipal\": 100,\n      \"remainingprincipal\": 900,\n      \"originalfee\": 65,\n      \"paidfee\": 0,\n      \"remainingfee\": 65,\n      \"originalinterest\": 0,\n      \"paidinterest\": 0,\n      \"remaininginterest\": 18.25,\n      \"service_description\": \"Invoicing\",\n      \"status_statuscode\": \"Purreinkasso\",\n      \"reminders\": 1,\n      \"debtcollectionlist\": 0\n    }\n  ]\n}\n\n</code></pre>\n","_postman_id":"d27f43cb-d079-4a77-8041-2161d55eb5bb"}],"id":"e3cfbcb1-2a61-4af7-bfa6-4afdc93f65e6","description":"<p>When sending a request after information all cases are returned from our debt collection system. You can decide if you want to return only open cases.</p>\n<p>Information includes:</p>\n<ul>\n<li>Case number</li>\n<li>Status</li>\n<li>Information about original and paid, remaining principal, interest, fees</li>\n<li>Registered creditor information</li>\n<li>Can be set to only return open cases, or on one debtor.</li>\n</ul>\n","_postman_id":"e3cfbcb1-2a61-4af7-bfa6-4afdc93f65e6"},{"name":"Respond to Debt Collection list","item":[{"name":"Example","item":[],"id":"b5653f14-ed78-4939-8d69-0b47caca56e0","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VCS 2023-04-24T13:24:33\",\n  \"offline\": false,\n\n  \"case\": [\n    {\n      \"customerref\": \"12345\",\n      \"ledgerref\": \"145678945\",\n      \"referencenumber\": \"1201\",\n      \"casenumber\": \"498527\",\n      \"currencycode\": \"NOK\",\n      \"regdate\": \"2023-04-24T00:00:00\",\n      \"isdebtcollection\": false,\n      \"originalsum\": 1065,\n      \"paidsum\": 100,\n      \"remainingsum\": 983.25,\n      \"originalprincipal\": 1000,\n      \"paidprincipal\": 100,\n      \"remainingprincipal\": 900,\n      \"originalfee\": 65,\n      \"paidfee\": 0,\n      \"remainingfee\": 65,\n      \"originalinterest\": 0,\n      \"paidinterest\": 0,\n      \"remaininginterest\": 18.25,\n      \"service_description\": \"Invoicing\",\n      \"status_statuscode\": \"Purreinkasso\",\n      \"reminders\": 1,\n      \"debtcollectionlist\": 1\n    }\n  ]\n}\n{\n    \"batchid\": \"My test 2017-03-28 15:40:00\",\n    \"action\": [\n        {\n            \"actiontype\": \"EXPORTDEBTCOLLECTION\",\n            \"creditorid\": \"541834958\",\n            \"ledgerref\": \"145678945\"\n        }\n    ]\n}\n\n</code></pre>\n","_postman_id":"b5653f14-ed78-4939-8d69-0b47caca56e0"}],"id":"314b51e1-f695-48cf-94e8-9f4d1f7cf0f4","description":"<p>When we have sent a debt collection warning regarding a invoice and the invoice is still not paid, the invoice is ready for debt collection.</p>\n<p>When registering a creditor 3 values can be set here in field \"debtcollectiontransfer\":</p>\n<p>EndFragment\"</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Value</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>10</td>\n<td>Automatic</td>\n<td>The invoice will automatically be sent to debt collection, no action needed</td>\n</tr>\n<tr>\n<td>20</td>\n<td>Semi automatic collection list</td>\n<td>You get a list with invoices ready for transfer each Tuesday. If there are some invoices that should not be sent, you can send a change request for stop before Friday. All of the invoices that has not been stopped will be transferred to debt collection.</td>\n</tr>\n<tr>\n<td>30</td>\n<td>Manual collection list</td>\n<td>You get a list with invoices ready for transfer each Tuesday. None of the invoices are transferred to debt collection before the customer makes an active choice to send it or stop it.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>We always recommend using the value 10 or 20.</strong> If you do there is no need for extra coding around this.</p>\n<p>If you choose 30 - manual collection list the values returned in GET batch and \"case\" object must be processed as follows:</p>\n<ol>\n<li>The reminders that is ready for debt collection will have <strong>case.debtcollectionlist</strong> value will be set to 1</li>\n<li>You have two different options:<ol>\n<li>Transfer reminder to debt collection: Respond to this with an <strong>action</strong> message where <strong>action.actiontype</strong> = EXPORTDEBTCOLLECTION / 10. The new value in case.debtcollectionlist will be DEBTCOLLECTIONEXPORT/ 2 as a confirmation.</li>\n<li>Don't transfer reminder to debt collection: Do not send any action message</li>\n</ol>\n</li>\n</ol>\n","_postman_id":"314b51e1-f695-48cf-94e8-9f4d1f7cf0f4"},{"name":"Getting Settlements","item":[{"name":"Settlements","item":[],"id":"e9c84cf4-61bc-47f6-9f57-4e7c61036892","description":"<p>When a customer pays with the payment information on the reminder or debt collection letters there will be made a settlement in the debt collection system.</p>\n<p>After this there are three steps:</p>\n<p>1. We make a payment towards the bank account set in <strong>bankaccountno</strong></p>\n<p>2. A remittance report will be available in <strong>GET api/Attachment</strong></p>\n<p>3. Information about the settlement will be available in <strong>Get Batch - settlement.</strong> This is the basis to make a automatic bookkeeping of the settlement.</p>\n<h4 id=\"lastsettlementid\">\"lastsettlementid\"</h4>\n<p>When requesting settlements a value in \"lastsettlementid\" should be set to keep track of settlement which has been booked in the GL ERP.</p>\n<p>The value must be kept on the ERP system, and provided in next GET batch request.<br />Value is set from field \"settlementid\" with highest value in the response.</p>\n<h4 id=\"automatic-bookkeeping\"><strong>Automatic bookkeeping</strong></h4>\n<p>The settlement will be marked with settlementtype = COLLECTOR_PAYMENT.<br />In the <strong>settlement</strong> object it will be reported:</p>\n<ul>\n<li><strong>Paid amount:</strong> paidamount</li>\n<li><strong>Income to creditor:</strong> creditor principle, creditor interest, creditor fee</li>\n<li><strong>Expense for creditor:</strong> collector vat</li>\n<li><strong>Income to the collection company:</strong> collectorprincipal, collector interest, collectorfee</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Bookkeeping</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>creditorprincipal + collectorprincipal</td>\n<td>Customer Account / Invoice</td>\n<td>Will correspond to outstanding balance in ERP and can be used to settle/pay the invoice</td>\n</tr>\n<tr>\n<td>creditorinterest</td>\n<td>Interest income</td>\n<td>The share of interest / fee income to the creditor and posted as an income</td>\n</tr>\n<tr>\n<td>creditorfee</td>\n<td>Fee income</td>\n<td>The share of interest / fee income to the creditor and posted as an income</td>\n</tr>\n<tr>\n<td>collectorprincipal</td>\n<td>collectorprincipal Debt-Collection cost (also basis of accounting VAT)</td>\n<td></td>\n</tr>\n<tr>\n<td>collectorinterest</td>\n<td>No bookkeeping (also basis of accounting VAT)</td>\n<td></td>\n</tr>\n<tr>\n<td>collectorfee</td>\n<td>No bookkeeping (also basis of accounting VAT)</td>\n<td></td>\n</tr>\n<tr>\n<td>collectorvat</td>\n<td>VAT expense</td>\n<td>VAT on the debt collection company's share. This must be posted as an incoming VAT.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"vat\"><strong>VAT</strong></h4>\n<p>We calculate VAT on the settlements. It is calculated from these values:</p>\n<ul>\n<li>collectorprincipal</li>\n<li>collectorsfee</li>\n<li>collectorsinterest</li>\n</ul>\n<p>25% of this results in the value collectorvat.</p>\n<p>If the creditor is VAT registered, Visma Financial Solutions will set off or invoice VAT.</p>\n<p>If the creditor is not liable for VAT, no VAT will be charged on the fee, but this will be added to the fee paid by the debtor. In such cases, the creditor must only take the cost of VAT from the advance fee, commission on principal and interest.</p>\n<p>VAT should be bookeept like this:</p>\n<p>debit = collectorprincipal + collectorinterest + collectorfee + collectorvat<br />credit = collectorprincipal + collectorinterest + collectorfee</p>\n<p>What is paid to the creditor will be: Share creditor (creditorprincipal + creditor interest + creditor fee) minus VAT on income collection company (collector vat)</p>\n<h4 id=\"example-of-remittence-report\">Example of remittence report</h4>\n<img src=\"https://content.pstmn.io/1bda9062-bf2a-40e4-8651-476489471042/aW1hZ2UucG5n\" width=\"1359\" height=\"441\" />\n\n<p>In this exact example the bookeeping will be as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Account</strong></th>\n<th><strong>Amount</strong></th>\n<th><strong>Fields</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Customer account</td>\n<td>900.00 + 0.00 = 900.00</td>\n<td>creditorprincipal + collectorprincipal</td>\n</tr>\n<tr>\n<td>Interest income</td>\n<td>0</td>\n<td>creditorinterest</td>\n</tr>\n<tr>\n<td>Fee income</td>\n<td>0</td>\n<td>creditorfee</td>\n</tr>\n<tr>\n<td>Debt collection cost</td>\n<td>0</td>\n<td>collectorprincipal</td>\n</tr>\n<tr>\n<td>Incoming VAT</td>\n<td>20.65</td>\n<td>collectorvat</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"e9c84cf4-61bc-47f6-9f57-4e7c61036892"},{"name":"Example","item":[],"id":"76c137f1-760b-4e9c-a7db-6633aa555cc2","description":"<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"batchid\": \"VCS 2023-04-24T13:29:32\",\n  \"offline\": false,\n  \"settlement\": [\n    {\n      \"creditorid\": \"328454729\",\n      \"customerref\": \"12345\",\n      \"ledgerref\": \"145678945\",\n      \"referencenumber\": \"1201\",\n      \"casenumber\": \"498527\",\n      \"collectiontype\": 0,\n      \"settlementid\": \"971926\",\n      \"settlementtype\": 0,\n      \"settlementdate\": \"2023-04-21T00:00:00\",\n      \"settlementcurrencycode\": \"NOK\",\n      \"settlementexchangerate\": 1,\n      \"remittancedate\": \"2023-04-24T00:00:00\",\n      \"currencycode\": \"NOK\",\n      \"closuredate\": \"2023-04-21T00:00:00\",\n      \"paidamount\": 982.58,\n      \"creditorprincipal\": 900,\n      \"creditorinterest\": 0,\n      \"creditorfee\": 0,\n      \"collectorprincipal\": 0,\n      \"collectorinterest\": 17.58,\n      \"collectorfee\": 65,\n      \"collectorvat\": 20.65\n    }\n  ]\n}\n\n</code></pre>\n","_postman_id":"76c137f1-760b-4e9c-a7db-6633aa555cc2"}],"id":"a648b36c-430e-4ced-86ae-f6aaa3cd5262","description":"<p>There are two types of payment transactions that entail bookkeeping in the ERP system.</p>\n<p><strong>1. Direct payments - payment/credits received in the ERP</strong></p>\n<p>We are using our payment information (accountnumber, CID) on both reminders and debt collection letters, but we know that some customers can still pay the original invoice. This means that the payments is registered in the ERP system. Direct payments must be reported to us so the invoice amount in our system can be adjusted. The same applies to credit notes.</p>\n<p><strong>2. Settlements - payments received in our debt-collection system</strong></p>\n<p>As mentioned, we are using our payment information on both reminders and debt collection letters, so most of the customers pays directly to us. The payment will then be made to the debt collection system and this is reported as a <strong>settlement</strong> object in Get Batch. If the payment covers the entire claim (<strong>case.remainingsum</strong>) the case will be closed.</p>\n<img src=\"https://content.pstmn.io/585a695f-0362-4b0c-a8e7-858fee569701/aW1hZ2UucG5n\" width=\"1535\" height=\"794\" />","_postman_id":"a648b36c-430e-4ced-86ae-f6aaa3cd5262"},{"name":"Ready for production","item":[],"id":"6af09559-4d6e-4417-83ad-12776e526e84","description":"<p>Let us know when you are ready for production.</p>\n<p>In advance of the switch to production, we want to have a final functionality test to make sure everything works with our systems.</p>\n<p>You will find the URL for production in the chapter <strong>URLs</strong>.</p>\n","_postman_id":"6af09559-4d6e-4417-83ad-12776e526e84"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"834090f6-2df6-4966-8136-921376c696d1"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"f340d9a1-7858-47aa-af41-4d61b6b5554a"}}],"variable":[{"key":"baseUrl","value":"/webapi","type":"string"}]}