Search
Getting Started Invoice sending Invoice sending Consumer Invoicing Printing Email invoicing Invoice receiving Invoice receiving Scanning Detect Fraud reporting Integration tools Webhooks Reference implementations Maventa Connector Embeddable User Interface Peppol Peppol Network Document Exchange Invoice Response Self-billing support Invoicing formats Invoicing formats Validation Peppol BIS 3.0 Finvoice 3.0 Document types and type codes Preview Maventa JSON (table) Preview Maventa JSON (json schema) Account management Companies and Settings Department Company Users Billing Accounts receivable Accounts receivable Ropo Reminder & Collection Amili Kassavirta Amili Perintä

Amili Perintä

Amili Perintä allows Finnish companies to outsource reminder handling and debt collection to Visma Amili Oy, removing the need to manage these time-consuming tasks yourself. You can select which invoices are handed over to Visma Amili, while still keeping visibility into the process. The progress of reminder and collection activities can be followed via the Maventa APIs and UI.

The service is provided by Visma Amili (formerly Visma Financial Solutions Oy) and delivered through Maventa. It is included in the Maventa service with no additional fees. The only potential costs are related to the later stages of the debt collection process or if assignments are cancelled. Service contract and price list.

Activating the Amili Perintä service

To activate the Amili Perintä service, use the REST API method PUT /v2/services/amili/receivables to start the activation process. You can track the activation status using GET /v2/services/amili/receivables.

Activation requires a company representative authorised to act on behalf of the company to complete and sign an electronic agreement with Visma Amili. Authorisation can be based on the individual’s position in the company or a power of attorney, which must be attached if applicable. Personal online banking credentials or Mobile ID are needed to complete the form, as required under the Money Laundering Act.

Maventa’s partner, Netvisor KYC, handles the authentication and signing process.

There are two ways to handle the KYC step from the ERP:

  1. Authorisation email – By providing an email address in the authorization_email parameter, a link to the Netvisor KYC service is sent to that address. If this parameter is left empty, no email is sent.

  2. Direct link from ERP – The GET /v2/services/amili/receivables method returns a link in the activation_url parameter to the Netvisor KYC service. This link can be displayed directly in the ERP. If using this method, leave the authorization_email parameter blank.

If the KYC process is not completed within a week, a reminder email is sent to the contact person with the activation link.

Information needed for the activation

Parameters for the PUT /v2/services/amili/receivables call

Parameter Description
iban The account (IBAN) where Visma Amili will transfer the funds collected from the invoice recipient. Only one account can be used.
bic Bank identification code e.g. DABAFIHH
bank Name of your bank
contact_person Contact person name
contact_email Email for possible problem cases and contacting
contact_phone_number Phone number for the contact person
authorization_email Email for sending the request to sign the electronic agreement. If left blank, email is not sent
accountable_party Should be set as “vfsfi” (default) or left out. Does not apply to the Amili Perintä service.
service_type Must be set as “express”. If left empty, the default value “full” is used, which activates the /integration-guide/accounts-receivable/amili-kassavirta/ service instead.
customer_service_email For reminder and debt collection letters.
customer_service_phone_number For reminder and debt collection letters.
billing_address Billing address for possible service costs related to the debt collection processes in the later phase. Price list
postal_address Company’s postal address

Once the agreement is signed and verified by Visma Amili, the service will be activated, usually within 1–2 business days. You can use GET /v2/services/amili/receivables to check the activation status, or register a webhook to receive a notification from Maventa when the service is activated or rejected.

The Amili Perintä service can also be activated through the Maventa user interface.

Transferring invoices to a reminder and collection process

A due invoice can be transferred to the Amili Perintä service via the following API methods:

Transfer invoice: POST /v1/invoices/{id}/assignment

You need to provide the invoice id (UUID) for an overdue invoice and the preferred collection type:

Possible errors:

If the due date of the invoice is not in the past, the API returns the following error, as only invoices with a due date in the past can be transferred to the Amili Perintä service:

Error: response status is 400

{
  "code": "invalid_parameters",
  "message": "Request parameters are invalid",
  "details": [
    "Invoice not expired"
  ]
}

See the status of the transfer: GET /v1/invoices/{id}/assignment

When the invoice due date is in the past, a button to transfer the invoice to Amili Perintä appears in the UI under the sent invoice details.

Invoice content requirements

  • Only invoices with currency EUR are accepted.
  • Valid XML file. The service does not support the following invoice XML formats: OIOXML, WoodX, BGC, Axflow, Facturae, PX, UBL.
  • Full receiver address information must be provided. If any address details are missing, the invoice will not be successfully forwarded to the Amili Perintä service.
  • The sum of the invoice lines must equal the total sum of the invoice.
  • Duplicate invoice numbers are not allowed in most cases. Ensure that each invoice number is unique. However, there are a few exceptions:
    • If a new invoice has a different invoice date than an existing assignment (open or closed), a new assignment with the same invoice number is created.
    • If a new invoice has the same invoice date as an existing closed assignment with no associated payments or credit notes (manually closed or cancelled by the sender), a new assignment with the same invoice number is created.
    • If a new invoice has the same invoice date as an existing open assignment with no associated payments or credit notes, and the invoice connected to that assignment is in an error state, the existing assignment is closed, and a new assignment with the same invoice number is created.

Reminder and debt collection schedule

When an invoice is transferred to the Amili Perintä service for the reminder and debt collection process, Visma Amili sends the first reminder 10 days after the invoice due date for B2B invoices and 14 days after the due date for consumer (B2C) invoices. If the invoice is transferred directly to the collection process, the first action is the sending of a payment demand.

Reminders and payment demands are always sent via regular postal mail. Letters are not sent on weekends or public holidays, which may extend the timeline by a few days in some cases.

The customer’s language code in the original invoice (Finvoice InvoiceRecipientLanguageCode) determines the language of reminders and debt collection letters. If no language is defined, Finnish is used as the default.

Receivables management process

Receivables management process

Close

Schedule in Finnish

Receivables management process

Assignments

Every invoice transferred to the Amili Perintä service automatically generates an assignment. An assignment represents the invoice’s lifecycle within Visma Amili and is used to track its status, payment progress, and all communication between Visma Amili and you.

Each assignment contains the fields reference_ids and invoice_id, which link the assignment to the original invoice using the invoice UUID.

Assignments can have one of three statuses:

REST API for assignment handling.

Assignment content

Parameter Description
id Assignment id
status Open (unpaid) / closed (paid or cancelled) / partially_closed (Invoice is paid but additional fees or charges remain for Visma Amili to collect)
collection_status Collection status of the assignment. Set based on event added by the agency. Values can be “unknown” (default value until reminder is sent/collection process starts), “reminder_sent”, “debt_collection”, “legal_collection”, “recovery_proceedings”, “debt_surveillance”, “lack_of_means”, “payment_plan”
service_level default (normal process) / premium / vip
debtor “name”: Name of customer (receiver of the invoice) and “bid”: customer’s bid
due_date Due date from the original invoice or new due date if due date change request is accepted
issued_at Invoice date from the original invoice
number Invoice number from the original invoice
sum Total sum of the invoice
paid Amount that is paid or credited
currency Currency from the original invoice
created_at When assignment was created
updated_at When assignment was updated last time (e.g. when paid sum was updated)
partially_closed_at When assignment was partially closed by Visma Amili
closed_at When assignment was closed by Visma Amili
reference_ids Contains three ids: “agency_id” = collection agency id, “invoice_id” = id of the original invoice (invoice uuid), “number” = New reference number that was changed to the original invoice

JSON example of assignment and its event

[
  {
    "id": "fa9781ba-20d1-4677-a125-f04bff7bbac0",
    "status": "open",
    "collection_status": "reminder_sent",
    "service_level": "default",
    "debtor": {
      "name": "Test receiver Oy"
    },
    "due_date": "2020-04-20",
    "issued_at": "2020-04-01",
    "number": "64488",
    "sum": 12.3,
    "paid": 10,
    "currency": "EUR",
    "created_at": "2020-04-15T05:47:07Z",
    "partially_closed_at": null,
    "updated_at": "2020-04-15T21:01:18Z",
    "closed_at": null,
    "reference_ids": [
      {
        "type": "agency_id",
        "value": "078dbb88-ef8e-4115-8260-c8a542aaa87c"
      },
      {
        "type": "invoice_id",
        "value": "f6dcf18d-a1bd-4e72-bb8a-80908527b6c8"
      },
      {
        "type": "number",
        "value": "356241887794"
      }
    ],
    "events": [
      {
        "id": "c0c56722-a28b-49d1-aa87-1c4d7f3cf1af",
        "type": "paid",
        "data": {
          "sum_paid": 10,
          "booked_at": "2020-04-16",
          "archive_number": "12345"
        },
        "party_id": "938fc79f-9c00-47af-8507-cdf15838aa96",
        "seens": [
          {
            "seen_at": "2020-04-15T22:00:06Z",
            "seen_by": "Amili Oy FI"
          }
        ],
        "created_at": "2020-04-15T21:01:18Z",
        "happened_at": "2020-04-16T00:00:00Z"
      }
    ]
  }
]

Collection status of the assignment

collection_status Events that set the collection status
unknown Default value until reminder is sent or collection activities are started
reminder_sent reminder_sent / second_reminder_sent
debt_collection collection_started (first payment demand is sent) / second_demand_sent / tratta
legal_collection legal_collection_started
recovery_proceedings application_for_enforcement
debt_surveillance credit_loss_suggestion (credit_loss event does not change the collection status)
lack_of_means lack_of_means
payment_plan payment_plan

Creating assignments manually (without sending the invoice to the recipient)

Assignments can also be created in Maventa without delivering the invoice to the recipient, and then transferred directly to the Amili Perintä service. This is useful in situations where the invoice has already been delivered to the customer outside of Maventa.

Manual creation of assignments is done via POST /v1/invoices using the parameter prevent_routing = true. When this parameter is enabled, the invoice is marked as SENT immediately, without any delivery to the receiver.

After the invoice has been created, the Amili Perintä APIs described above can be used to transfer the invoice into the reminder and/or debt collection process.

Creating manual assignments results in a debit action and will be billed according to the existing price lists.

Events

Both the sender company and Visma Amili can add events to communicate changes related to an assignment. Events describe actions that have taken place — for example, when a customer pays an invoice, Visma Amili automatically adds a paid event. Events can also be used to update assignment details from the sender side, such as notifying about direct payments. In practice, events serve as a communication channel between Visma Amili and the sender.

Automating event creation from your ERP is strongly recommended. At minimum, automate the paid and credit_note events to ensure they are always delivered to Visma Amili without relying on end users to manually trigger them via the UI.

REST API for event handling.

Event types and usage

Comment or question

comment – Add a comment or ask a question. This event allows you to send comments or questions to Visma Amili regarding the specific assignment. Visma Amili may also use this event type to send comments or questions back to your company.

Monitoring comment events closely is strongly recommended. A good approach is to create a dedicated view that displays only comment events, clearly separating them from other event types. This ensures that you can easily see when Visma Amili has added a comment or question that may require attention or a response.

A new and improved messaging feature is now available for better two-way communication. See the messaging functionality section for more details.

Both the company and Visma Amili can create this event type.

Handling payments

paid – Used to report payments made by the customer, notify direct payments, and mark credit notes as used.

Usage scenarios:

  1. Customer payment through Visma Amili. Visma Amili sends a paid event when the customer pays the assignment, either fully or partially.
  • If the assignment is fully paid, Visma Amili will automatically close it (close event added).
  • If the customer pays more than the invoice amount, the excess is refunded to the customer. Visma Amili does not retain overpayments for future invoices.
  • In account statements (such as SEPA), payments processed by Visma Amili appear with VISMA AMILI as the payer name (length may vary depending on bank). This can help distinguish payments by Visma Amili from direct payments, which will show a different payer name.
  1. Reporting direct payments Use this event to inform Visma Amili when the customer pays directly to the sender company’s account. Payments may be full or partial.
  • If additional details are needed, they can be provided using a comment event.
  • If the assignment is fully paid, Visma Amili will close it (close event added).

It is very important that direct payments are reported through this event so that Visma Amili can update the open balance or close the assignment correctly. Automating this event in the ERP is strongly recommended to ensure direct payments are always reported.

  1. Marking a credit note as used When a credit note has been issued and linked to an assignment (credit_note event), it must be marked as used. This is done using the paid event for the credit note, with the payment amount entered as a negative value.
  • This allows Visma Amili to close the credit note (close event added).
  • If the credit note is linked through the UI, it is automatically marked as used.

The paid event updates the paid field in the assignment, but does not modify the sum value.

{
    "type": "paid",
    "data": {
      "sum_paid": 200.5,
      "booked_at": "2019-01-04",
      "archive_number": "12345"
    }
  }

Both the company and Visma Amili can create this event type.

Closing an assignment

close – Visma Amili uses this event to mark an assignment as closed. An assignment is closed when any of the following occurs:

  • the customer has fully paid the assignment
  • you report that it has been fully paid (direct payment)
  • you report that it has been fully credited
  • you request cancellation of the assignment

Once closed, no further collection activity is carried out for that assignment.

Only Visma Amili can create this event type.

Partially closing an assignment

partially_closed – Visma Amili uses this event to indicate that an assignment is only partially closed. This situation occurs when the original invoice amount has been fully paid by the customer, but reminder fees or collection charges remain unpaid. From the sender’s perspective the assignment is finished, but the customer still owes an additional amount to Visma Amili. When this event is added, the assignment status changes to partially_closed.

Once the customer pays the remaining reminder or collection charges, Visma Amili will add a close event and the assignment status will update to closed.

Closure cannot be reversed or modified.

Only Visma Amili can create this event type.

Connecting a credit note to an assignment

credit_note – Use this event to link a credit note to an assignment. Provide the credit note number and the credit sum when sending this event. The credit sum should be entered as a positive value.

  • If the credit note fully covers the assignment, Visma Amili will close the assignment (close event added).
  • If the credit note was issued through Maventa, you also need to mark it as used by sending a paid event for the credit note assignment, with the amount entered as a negative value.
  • If the credit note was issued outside Maventa, this event should still be sent to Visma Amili to update the assignment.
  • If only part of the assignment is credited, Visma Amili will continue monitoring payments and follow the debt collection process for the remaining amount.

Summary when the whole assignment is credited:

  • Assignment receives a credit_note event with the credit sum as a positive value.
  • Credit note receives a paid event with the paid sum as a negative value.

Automating this event in your ERP is strongly recommended to ensure that a credit_note event is always sent when credit notes are created.

Only the company can create this event type.

Cancellation of the assignment

cancel – Use this event to cancel the entire Amili Perintä process for an assignment.

  • Once cancelled, the assignment will be closed (close event added), and the closure cannot be reversed or modified.
  • Visma Amili will no longer monitor the assignment or take any collection actions. You become fully responsible for tracking the assignment.
  • Do not use this event to report a credit loss.

With Amili Perintä, reminder and/or collection actions start immediately after transferring the invoice. Visma Amili will charge a cancellation fee.

Only the company can create this event type.

Temporary suspension of debt collection

Request or update suspension

freeze – Use this event to request a temporary suspension of the debt collection process for a specific assignment until a specified date.

  • Once the suspension is set, Visma Amili will not monitor the assignment or take any collection actions. You become responsible for tracking the assignment during this period.
  • Suspension requests can be made only if legal collection has not started and the enforcement authority has not declared the customer insolvent.
  • The debt collection process will automatically resume after the suspension end date.
  • You can update the suspension by providing a new end date, or end it early by setting the expiration date to today.

Set the parameter “frozen” to true:

{
  "type": "freeze",
  "data": {
    "frozen": true,
    "end_date": "2019-01-04"
  }
}

Only the company can create this event type.

Suspension confirmation

freeze_confirmed – Visma Amili sends this event to confirm that a temporary suspension has been applied to an assignment.

{
  "type": "freeze_confirmed",
  "data": {
    "happened_at": "2019-01-04",
    "end_date": "2019-02-15"
  }
}

Only Visma Amili can create this event type.

Termination of suspension

unfreezed – Visma Amili sends this event when the temporary suspension has ended and debt collection for the assignment will resume.

{
  "type": "unfreezed",
  "data": {
    "happened_at": "2019-01-04"
  }
}

Only Visma Amili can create this event type.

Information for interest payments

interest_paid – Visma Amili uses this event to notify when interest has been paid for an assignment and to provide the interest amount. It is typically received alongside the paid event.

  • Interest payments are made daily, with each payment covering all interest accrued on that day.
  • In account statements, the payment will appear with the message: “Korkotilitys PVM”.
  • The interest in this context is defined by the sender on their invoices for late payments.

Interest must be specified in the invoice XML. Including it only on the invoice image is not sufficient.

Only Visma Amili can create this event type.

Cash discount applied

cash_discount – Visma Amili uses this event to notify if the customer has applied a cash discount on the payment and to indicate the discount amount.

  • The sum of the paid amount and the cash_discount amount equals the total assignment sum.
  • This event is typically received together with the paid event.

Only Visma Amili can create this event type.

When the first reminder is sent to the customer

reminder_sent - Visma Amili adds this event when the first payment reminder for an unpaid invoice has been sent. If the assignment’s collection_status is not already set to reminder_sent, the event will update it accordingly.

Only Visma Amili can create this event type.

When the second reminder is sent to the customer

second_reminder_sent - Visma Amili adds this event when the second payment reminder for an unpaid invoice has been sent. If the assignment’s collection_status is not already set to reminder_sent, the event will update it accordingly.

Only Visma Amili can create this event type.

When the first payment demand is sent to the customer

collection_started - Visma Amili adds this event when the first payment demand for an unpaid invoice has been sent. If the assignment’s collection_status is not already set to debt_collection, the event will update it accordingly.

Only Visma Amili can create this event type.

When the second payment demand is sent to the customer

second_demand_sent - Visma Amili adds this event when the second payment demand for an unpaid invoice has been sent. If the assignment’s collection_status is not already set to debt_collection, the event will update it accordingly.

Only Visma Amili can create this event type.

When the tratta is sent

tratta_sent - A tratta has been issued for an unpaid invoice. This event will update the assignment’s collection_status to debt_collection if it has not already been set.

Only Visma Amili can create this event type.

Legal collection is started

legal_collection_started - A summons application has been submitted and the legal collection process for the assignment has begun. This event will update the assignment’s collection_status to legal_collection.

Only Visma Amili can create this event type.

An application for enforcement is sent

application_for_enforcement - An application for enforcement has been submitted and the assignment has been transferred to the enforcement authority. This event will update the assignment’s collection_status to recovery_proceedings.

Only Visma Amili can create this event type.

The enforcement authority has found the debtor insolvent

lack_of_means - The enforcement authority has declared the debtor insolvent. This event will update the assignment’s collection_status to lack_of_means.

Only Visma Amili can create this event type.

A payment plan has been agreed on the invoice

payment_plan - A payment plan has been agreed on the invoice. This event will set the collection_status of an assignment to payment_plan.

Only Visma Amili can create this event type.

A recommendation to mark the assignment as credit loss

credit_loss_suggestion - A recommendation from Visma Amili to mark the assignment as credit loss. This event will set the collection_status of an assignment to debt_surveillance.

Only Visma Amili can create this event type.

Marking an assignment as credit loss

credit_loss – You can mark the assignment as a credit loss for accounting purposes. Reporting a credit loss does not affect payment control or monitoring, and Visma Amili will continue the collection process as usual.

Visma Amili may recommend marking an assignment as a credit loss if it is known that the customer will not pay.

Once submitted, a credit loss entry cannot be reversed or modified.

Only the company can create this event type.

Other events (not applicable for Amili Perintä)

Events used with Amili Kassavirta

The following events exist but are not applicable when using the Amili Perintä service. They are useful when /integration-guide/accounts-receivable/amili-kassavirta/ is in use:

delivery_status – Tracks the delivery status of the original sent invoice.

service_level_changed – Visma Amili creates this event if the customer of the invoice (receiver) is in the VIP or PREMIUM service level group. If the service level group is changed, a new event is added. This event sets the service_level of an assignment to default / vip / premium based on the chosen service level group. Service levels work with Amili Perintä, but there is generally no need to use them.

due_date_changed – Visma Amili sends this event when a due date change request has been approved. It updates the assignment’s due date.

This does not update the original invoice.

due_date_change_request – Use this event to request a due date change for an assignment. Visma Amili will either accept or reject the request depending on the new due date and the current stage of the collection process. If the debt collection process has already started, the request will be rejected. When accepted, a due_date_changed event is added as confirmation and the assignment’s due_date parameter is updated accordingly.

Messaging functionality

Messaging enables two-way communication between Visma Amili and the customer. Customers can add comments or questions related to their assignments, and Visma Amili can send important information concerning the assignments.

Including this functionality in the integration is strongly recommended to ensure a reliable communication channel and prevent important messages from being missed.

APIs for handling messages.

Reporting tool

The receivables reporting tool gives you better insight into your receivables and collections activity. Reports can be downloaded for a selected date range (up to 365 days). Two report types are currently available:

Both reports are available in PDF and Excel formats. You can choose the one that suits your needs, whether it’s for quick viewing or deeper data analysis.

APIs for reporting tool

Testing the service

When testing Amili Perintä in the Maventa test environment, please note that activation is not automated. To complete the activation flow, you must contact the Maventa support team as Visma Amili needs to perform a manual configuration. After activation, all other functionality can be tested normally. This manual step applies only to the test environment — activation in production happens automatically.

Closing the service

The Amili Perintä service can be closed by calling DELETE /v2/services/amili/receivables or by closing the service through the user interface. After the service is closed, new invoices can no longer be transferred to Visma Amili. Visma Amili will still handle the open assignments.

Even after closing the service, API access may still be required to monitor remaining open assignments and perform any necessary actions.

Back to top

AI Chat Support 24/7

  • Get help via AI chat available 24/7 whenever it suits you
  • Chat extensively uses Maventa support pages, websites, and blogs in its answers
  • If you need assistance that the AI cannot provide, you can also ask a customer service agent to join the conversation
  • Support requests processed Monday to Friday
Cancel Open chat

Got feedback?

Did you not find what you were looking for? Or was something explained unclearly? Or just want to share your thoughts? We are happy to hear your feedback!

Note: This form is not a way to get support, this is only for feedback for the documentation website. If you need support, please contact Maventa support.

Integration Guide Services & Reach API Specification Changelogs Integration guide Getting Started Invoice sending Consumer Invoicing Printing Email invoicing Invoice receiving Scanning Detect Fraud reporting Webhooks Reference implementations Maventa Connector Embeddable User Interface Peppol Network Document Exchange Invoice Response Self-billing support Invoicing formats Validation Peppol BIS 3.0 Finvoice 3.0 Document types and type codes Maventa JSON (table) Maventa JSON (json schema) Companies and Settings Department Company Users Billing Accounts receivable Ropo Reminder & Collection Amili Kassavirta Amili Perintä Services and reach Maventa services and reach e-invoicing in Finland Mass Printing Service e-invoicing in Sweden e-invoicing in Norway e-invoicing in Denmark e-invoicing in the Netherlands e-invoicing in Belgium e-invoicing in Germany e-invoicing in Estonia e-invoicing in Latvia e-invoicing in Poland e-invoicing in Italy e-invoicing in France e-invoicing in Spain Api specification API overview Getting Started Common & authentication API Invoices API Documents API Companies & settings API Lookups API Detect API Validator API Receivables API Billing API Scanning API B2CFI API B2CNO API B2CSE API Partner API Getting Started API Methods Overview Account Configuration API Methods Invoice Sending API Methods Invoice Receiving API Methods B2C Norway API Methods B2C Finland API Methods Other API Methods Changelogs Product changelog Developer Changelog
Clear Send

Enter your credentials to Maventa testing environment, to authenticate and try things out with the Swagger UI. This will fetch a Bearer token using OAuth2 with the endpoint POST https://ax-stage.maventa.com/oauth2/token. The token is stored in your browser's session storage (cleared when you close the tab) and used in Swagger calls done from this documentation website. The token is valid for 1 hour.

Never use your production credentials here. This is only for testing the Maventa test environment in the Swagger UI.
Reset All None
eui global company lookup document:receive document:send invoice:receive invoice:send company:read company:write validate receivables:assignments analysis billing:reports partner:invoice_delivery_actions partner:lookups partner:takeovers partner:lyanthe_scan_service fi_bank_message:send fi_bank_message:receive
Cancel Sign In