Mass Printing Service
The Maventa Mass Printing Service, also referred to as Payslip, allows sending PDF files as physical letters through the Finnish printing service. While originally designed for distributing payslips, it can be used for sending any type of letters, provided the printing service rules are followed. This service is available only for Finnish companies.
Kivra moves to OmaPosti on 15th of October 2026. Digital post is delivered to Kivra until 15th of October 2026 and to Posti’s OmaPosti after that. The letters[].delivery_method value changes from kivra to omaposti, and the billing action from EINVOICE_KIVRA_FI to EINVOICE_OMAPOSTI_FI. Sending parameters are unchanged. See Kivra moves to OmaPosti for the full description, or digital post delivery below for how it works in this service.
Invoices intended for print should always be sent via the standard invoice delivery channels, not through this service.
User account opening
To use the Mass printing API, you need a dedicated user account. Create one by calling the registration endpoint with your existing sw_api_key and company_uuid from Maventa:
- Production: https://payslip.maventa.com/register
- Staging: https://payslip-stage.maventa.com/register
Request for registering
| Key | Example | Description |
|---|---|---|
| sw_api_key | d33e92be-a46b-4963-8ada-25452712e0a6 | Existing software API key from Maventa |
| company_uuid | 99445728-5fd3-428a-96e1-ca0cab692276 | Existing company uuid from Maventa |
| company_name | Test Company Oy | Name of the company |
| user_email | test@yritys.fi | User email address that will be used as user name, needs to be unique! Each account needs it’s own email address |
| user_pw | secret1234 | Password for the user |
| disable_notify_on_complete | 1 | Set to 0 (default) to receive an email notification when material is printed successfully. Set to 1 to disable notifications. |
Response for registering
The response code will always be a HTTP 200 and the response body is one of the following:
| Value | Description |
|---|---|
| “OK” | Successful registration, letters can be send and login works |
| “ERROR: COMPANY UUID ALREADY REGISTERED” | Registration failed, company exists already in Payslip service |
| “ERROR: USER EMAIL ALREADY REGISTERED” | Registration failed, user email exists already in Payslip service |
| “ERROR: ONLY FINNISH COMPANIES ALLOWED” | Only Finnish companies allowed to register |
| “ERROR: USER EMAIL INVALID” | Invalid email address |
| “ERROR: INVALID VENDOR KEY” | Invalid software API key |
| “ERROR: INVALID COMPANY UUID” | Invalid company uuid |
| “ERROR: INVALID VALUES” | Company_name, user_email or user_pw empty |
| “ERROR: REGISTRATION FAILED” | Most likely company name already exists in Payslip service. |
If you need an additional user account for a company that is already registered, contact Maventa support.
Sending letters
To send a letter to Mass printing service there are currently two supported methods:
- New JSON-based API (recommended) - https://payslip.maventa.com/input_json
- Legacy IPOSTXML-based method (deprecated - will be removed in future) - https://payslip.maventa.com/input_public
JSON API (recommended)
The POST /input_json endpoint allows authenticated users to send PDF files for print delivery services. This endpoint accepts multipart form data containing a PDF file and associated metadata for both recipient and sender information.
Authentication for JSON API
The endpoint supports multiple authentication methods for backwards compatibility:
Method 1: Bearer token authentication (recommended). Note! This is not using the common OAuth that our other services, it is the static user API key
Header Required:
- Authorization: Bearer {user_api_key}
- X-Client-Id: company_uuid
Method 2: Legacy API key authentication (deprecated)
Headers Required:
- USER_API_KEY: user_api_key
- COMPANY_UUID: company_uuid
Method 3: Legacy username/password authentication (deprecated)
Headers Required:
- USERNAME: Your username
- USERPW: Your password
Sending with JSON API
- Method: POST
- Content-type:
multipart/form-data - URL:
/input_json
Required parameters
| Parameter | Type | Description |
|---|---|---|
| File | PDF file to be processed (max 20MB), mime type must be application/pdf | |
| hash | String | SHA1 hash of the PDF file (lowercase hexadecimal) |
| sw_api_key | String | Software vendor API key |
| version | String | Client version identifier (e.g. “MyErp 2.25”) |
Recipient information (required)
| Parameter | Type | Description |
|---|---|---|
| recipient[name] | String | Recipient’s full name |
| recipient[address] | String | Street address |
| recipient[post_code] | String | Postal code |
| recipient[post_office] | String | Post office / city |
| recipient[country] | String | Country code in ISO 3166-1 alpha-2 code (e.g., “FI”) |
Optional parameters
Optional sender information (required for digital post send)
| Parameter | Type | Description |
|---|---|---|
| sender[name] | String | Sender’s name or company name |
| sender[sender_id] | String | Sender OVT/EIA (e.g. 00371111111) |
Optional recipient information (used for digital post lookups for better matching)
| Parameter | Type | Description |
|---|---|---|
| recipient[phone] | String | Recipient’s mobile phone number for digital post lookups (international format e.g. +358401234567) |
| recipient[email] | String | Recipient’s email address for digital post lookups |
| recipient[ssn] | String | Recipient’s social security number / national ID for digital post lookups |
Printing options
| Parameter | Type | Default | Description |
|---|---|---|---|
| duplex | Boolean | false | Enable double-sided printing |
| color_print | Boolean | false | Enable color printing |
| letter_class | String | “priority” | Delivery class (“priority” or “economy”) |
| prevent_digital_post | Boolean | false | Force physical delivery only |
| letter_subject | String | Custom letter subject shown to the recipient in their digital mailbox (default: “Kirje lähettäjältä [company name]”) |
Licensing parameters
| Parameter | Type | Description |
|---|---|---|
| license_key | String | License key for the sending system if applicable (optional) |
| license_meta | String | License metadata for the sending system if applicable (optional) |
Response codes and values for sending
Success response for sending
- Status code:
201 Created - Body:
UUIDof newly created printable letter
Error responses for sending
| Status code | Response body | Description |
|---|---|---|
| 401 | Authorization Required | Authentication failed or company account is inactive |
| 400 | Invalid multipart request | Request is not proper multipart/form-data or missing the PDF file |
| 400 | Missing version parameter | Required metadata is missing or incomplete |
| 400 | Missing metadata | Required metadata is missing or incomplete |
| 400 | Invalid vendor key | The provided sw_api_key is not valid |
| 409 | Duplicate file | A file with the same hash has already been processed |
| 413 | File size too large | PDF file exceeds size limit (20MB) |
| 415 | Invalid file type | Wrong mime type in request |
| 422 | Hash value does not match | Provided hash doesn’t match the uploaded file |
| 500 | Temporary server error | File processing failed on the server side, try again later |
Example requests for sending
Using Bearer Token Authentication (Recommended)
curl -X POST "https://payslip-stage.maventa.com/input_json" \
-H "Authorization: Bearer your_api_key_here" \
-H "X-Client-Id: your_company_uuid_here" \
-F "pdf=@document.pdf" \
-F "hash=a1b2c3d4e5f6789..." \
-F "version=MyERP 1.25" \
-F "sw_api_key=your_sw_api_key_here" \
-F "recipient[name]=Essi Esimerkki" \
-F "recipient[address]=Kotikatu 123" \
-F "recipient[post_code]=00100" \
-F "recipient[post_office]=Helsinki" \
-F "recipient[country]=FI" \
-F "sender[name]=Tulostaja Oy Ab" \
-F "sender[sender_id]=00371234567890" \
-F "duplex=true" \
-F "color_print=false" \
-F "letter_class=economy"GET /file_status/:id API Endpoint
The /file_status/:id endpoint allows authenticated users to check the processing status of a specific payslip using its UUID. The endpoint supports the same authentication methods as the /input_json endpoint described above.
- Method: GET
- URL:
/file_status/{payslip_uuid}
Response codes and values for status call
Success response for status call
- Status code:
200 OK - Body: Status string indicating current processing state
Possible status values for status call
| Status | Description |
|---|---|
| PENDING | File is being processed or waiting in queue at the print service provider |
| DONE | File has been successfully printed and delivered to the mail distributor |
| ERROR | An error occurred during processing (you will be separately contacted in case of errors) |
Error response for status call
| Status Code | Response Body | Description |
|---|---|---|
| 401 | Authorization Required | Authentication failed or company account is inactive |
| 404 | File not found | No payslip found with the provided UUID for your company |
Example requests for status call
curl -X GET "https://payslip-stage.maventa.com/file_status/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer your_api_token_here" \
-H "X-Client-Id: your_company_uuid_here"GET /file_status/:id/details API Endpoint
The /file_status/:id/details endpoint returns the same overall status as /file_status/:id, but adds a per-letter breakdown including the delivery method actually used. This is the way to find out whether a letter was delivered to the recipient’s digital mailbox or printed and posted. The endpoint supports the same authentication methods as the endpoints described above.
- Method: GET
- URL:
/file_status/{payslip_uuid}/details
Success response for detailed status call
- Status code:
200 OK - Content-type:
application/json
| Field | Description |
|---|---|
| status | Overall status of the batch: PENDING, DONE or ERROR
|
| letters[].filename | Filename of the individual letter |
| letters[].status | Status of the individual letter: created, sent, delivered or error
|
| letters[].delivery_method | Channel used for the letter: print, omaposti or kivra
|
{
"status": "DONE",
"letters": [
{ "filename": "letter_1.pdf", "status": "delivered", "delivery_method": "omaposti" },
{ "filename": "letter_2.pdf", "status": "delivered", "delivery_method": "print" }
]
}The omaposti value comes into use on 15th of October 2026, when digital post moves from Kivra to OmaPosti. Before that, a digital post delivery is reported as kivra. During the transition both values can appear. If your reporting or processing logic compares this field to kivra, update it to accept omaposti as well. Maventa recommends treating an unknown value as a digital delivery rather than letting the logic fail on it.
Error response for detailed status call
| Status Code | Response Body | Description |
|---|---|---|
| 401 | Authorization Required | Authentication failed or company account is inactive |
| 404 | {"error":"File not found"} |
No payslip found with the provided UUID for your company |
Example request for detailed status call
curl -X GET "https://payslip-stage.maventa.com/file_status/550e8400-e29b-41d4-a716-446655440000/details" \
-H "Authorization: Bearer your_api_token_here" \
-H "X-Client-Id: your_company_uuid_here"IPOSTXML-based API (deprecated)
Authentication for IPOSTXML-based API
The endpoint supports multiple authentication methods for backwards compatibility:
Method 1: Bearer token authentication (recommended). Note! This is not using the common OAuth that our other services, it is the static user API key
Header Required:
- Authorization: Bearer {user_api_key}
- X-Client-Id: company_uuid
Method 2: Legacy API key authentication (deprecated)
Headers Required:
- USER_API_KEY: user_api_key
- COMPANY_UUID: company_uuid
Method 3: Legacy username/password authentication (deprecated)
Headers Required:
- USERNAME: Your username
- USERPW: Your password
POST parameters for IPOSTXML-based API
| Key | Example | Description |
|---|---|---|
| version | MyOwnERP | Name of the software (and its version) making the sending. Makes problem solving easier |
| filename | letters_2019_12.zip | Name of the ZIP package, should be unique |
| file | RVBMMTExMzQ0O | The actual ZIP file attached using multipart/form-data |
| zipHash | 69a56b2b66d548d7b51f6dcc9003e90bafce2162 | SHA1 hash of ZIP content, will get check in server to make sure package came through as whole |
| hash | 856697ad0cae67ec48f7627be4cef74feaa2f36b | SHA1 hash of PDF content, will get saved to server for duplicate prevention. Same hash key cannot be used for sending again |
| document_type | PDFXML | PDFXML |
| letter_class | economy | Economy or priority (default value). Letter class to use for sending |
| sw_api_key | 5992955a-3b66-4439-94d1-a854a764da49 | Existing software API key from Maventa. Value given in sending call will override the one set for the Payslip company account in registration |
| license_key | 1234-5678-MKSK-1234 | License key of software making the call (255 chars max) |
| license_meta | License key for MyOwnERP | Additional information about the licensing system |
| color_print | true | Colour printing: true for colour, false for black & white (default) |
| duplex | true | Duplex printing for both sides of the letter. Default is false |
| prevent_digital_post | true | Prevent sending to OmaPosti. Default is false |
Important: File upload must be done using the multipart/form-data content type. Do not send the file as a Base64-encoded string in a query parameter. If your integration currently does this, we recommend updating it to use multipart upload.
Response for sending with IPOSTXML-based API
The response code will be a HTTP 200 and the response body is one of the following or “401 Unauthorized” if authentication fails:
| Value | Description |
|---|---|
| “OK: sent_filename.zip” | Successful sending |
| “ERROR: HASH VALUE DOES NOT MATCH” | Parameter zipHash does not match to the SHA1hash |
| “ERROR: DUPLICATE FILE” | Found file with parameter hash |
| “ERROR: FILE TOO LARGE” | API allows max 10Mt files |
| “ERROR: DOCUMENT TYPE UNSUPPORTED” | document_type is something else than PDFXML |
| “ERROR: FILE IS NOT ZIP” | Parameter filename needs to be .zip |
| “ERROR: ZIP FILE CONTAINS UNSUPPORTED FILES” | Only .pdf files are allowed (for PDFXML, only .pdf and .xml) |
| “ERROR: ZIP FILE CORRUPTED” | Unzipping failed |
| “ERROR: ILLEGAL CHARACTERS IN FILENAMES” | A filename inside the ZIP contains umlauts or other special characters |
| “ERROR: NO LETTERS FOUND” | No letter were found. No .pdf files found inside the zip file |
| “ERROR: INVALID VENDOR KEY” | A sw_api_key was given in the call but it is not valid |
| “ERROR: INVALID XML” | An iPost-XML file in the package could not be parsed |
| “ERROR: SINGLE XML REFERENCES MULTIPLE PDFS” | Single iPost-XML can only have reference to one PDF (XML to PDF 1-1 ratio) |
| “ERROR: NON UNIQUE PDF NAME IN XML” | Two iPost-XML files in the package reference the same PDF file |
| “ERROR: XML AND PDF NAME MISMATCH” | An iPost-XML references a PDF filename that does not exist in the package |
| “ERROR: LETTER OPTION MISMATCH” | All IPost-XMLs in a ZIP file must have the same printing options (letter class, colour..) for billing purposes |
| “ERROR: ZIP FILE GOT LOST” | The uploaded package was lost server-side before processing. Retry the sending |
| “ERROR: FILE GOT LOST” | The package was lost server-side while being stored. Retry the sending |
| “ERROR: sent_filename.zip” | Unexpected error, sending failed. Contact our support for more information |
Zip file content
PDFs
- One zip file can contain multiple PDF files but only one letter per PDF file. One letter can have multiple pages.
- Each PDF must be accompanied with iPost-XML metadata file (iPost LetterBundle format version 0.4). Note! information given in IPost-XML overrides the API parameters. You can download a zip file containing iPost-XML v0.4 implementation guidelines
- One iPost-XML should only have reference to one PDF letter (iPost-XML to PDF 1-1 ratio)
- Page count on the iPost-XML (pages element) must match to the actual page count of the PDF
- We prefer that one zip file contains only one letter (one PDF file) + iPost-XML metadata file
- When multiple IPost-XMLs in one ZIP file, all IPost-XMLs must have the same printing options (letter class, colour..)
- Always use unique hash for each zip file. zipHash and hash values can be the same since one ZIP file can contain multiple PDF files
- Zip file max size is 1 GB
Example of iPost-XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<lb:LetterBundle schemaVersion="v0x4" senderFileId="FileD1" xmlns:lb="urn:itella-letterbundle-v0x4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:itella-letterbundle-v0x4 LetterBundle_V0x4.xsd">
<lb:Bundle senderBundleId="">
<lb:BundleCommon creationDate="2020-06-24T13:17:00.0Z" isTest="false">
<lb:Sender companyName="Your company Oy" contact="" contactPerson="Support" email="support@support.com" phoneNumber="010-5058474" ovtID="003712345678">
<lb:SenderAddress>
<lb:Eu1 name="Your company Oy" address="PL 000" postalCode="00101" city="Helsinki" countryCode="FI"/>
</lb:SenderAddress>
</lb:Sender>
<lb:StdBundleProcessing customerId="" departmentClassification="false" electronicArchiving="T" envelope="S" fileFormat="0" isDuplex="true" letterClass="2" paper="0" password="" serviceFunction="0"/>
<lb:ExternalFile fileName="sent_filename.pdf" format="PDF" senderFileId="wm_0c5c09e0-03d3-4340-bb6b-0c3c14be7f42">
<lb:CheckSum type="MD5" value="nnnnnnnnnnnnn"/>
</lb:ExternalFile>
</lb:BundleCommon>
<lb:Letter senderLetterId="LetterID1">
<lb:LetterMeta>
<lb:Location pages="1" startPage="1"/>
<lb:Recipient>
<lb:Address>
<lb:Eu1 address="Kotikatu 1" city="Helsinki" countryCode="FI" name="Asiakas Anssi" postalCode="01001"/>
</lb:Address>
</lb:Recipient>
</lb:LetterMeta>
</lb:Letter>
</lb:Bundle>
</lb:LetterBundle>Checking the status of sent packages for IPOSTXML-based API
To check the status of the sent package, use https://payslip.maventa.com/file_status.
Headers for checking the file status
You need to give authentication using HTTP headers. You can give either:
-
USERNAMEandUSERPWwith which you registered your Mass printing API account -
COMPANY-UUIDandUSER-API-KEYof your Maventa account
GET parameter for checking the file status
| Key | Example | Description |
|---|---|---|
| filename | sent_filename.zip | Name of your ZIP package |
Response for checking the file status
| Value | Description |
|---|---|
| “DONE” | Package is processed and sent successfully |
| “PENDING” | Package is still in sending process |
| “ERROR” | Sending of the package has failed (in these cases our support will get notified and they will contact the sender with more detailed reason for error) |
| “ERROR: No file found” | No file found with the given filename |
Technical restrictions of the PDF
All files must be of PDF format (or have the same content requirements) for it to be printed correctly. That means that the file cannot contain dynamic components and that all fonts, images and others are included in the file (ie the files should be 100% “self-contained”). All new customers must test their PDF files (all variants of fonts, images, etc.) to verify that the PDFs can be handled. If the PDF contains graphics, such as logos, charts, and other images, they must be of good quality.
- Keep the top and right margins empty
- Do not send any invoice image or attachment with black/dark background
- No transparencies
- All fonts must be embedded (subset or complete)
- All images must be in 250-300dpi. Higher resolution produces little or no quality gain. Lower resolution gives poor quality.
- Text should be stored as text (not bitmap)
- Recommended size per page is 1024kB, smaller the better
- Black / White print: 2-bit colours (black and white only), not grayscale.
- Colour print: Black text should be in black, not 4-colour
- Colour print: All colours must be CMYK
- PDF page size needs to be A4 (210 x 297 millimeters)
Instructions for letter layout
Your PDF letter needs to follow these PDF layout rules by Posti. Addition to Posti as the mail distributor, there is also Jakeluyhtiö Suomi Oy (JYS) which have few additions to the Posti rules. Difference is the tracking barcodes they print on the invoice image, see the JYS rules merged with the Posti ones.
Receiver information should be marked as clearly as possible to make sure machine readability.
Envelope size
The Finnish printing service uses two envelope sizes:
- For letters of up to 9 sheets, a smaller C5 envelope is used.
- For letters exceeding 9 sheets, a larger and more expensive C4 envelope is used.
The limit counts sheets of paper, not PDF pages. With duplex printing two pages fit on one sheet, so a duplex letter of up to 18 pages still fits a C5 envelope.
Storage time
Once Maventa receives final confirmation from the print service provider, the sent file itself is completely removed from Maventa’s servers. We recommend storing the files on the ERP side for at least a few months after the sending in case there are some support cases related to the sent letters.
What remains after the file has been removed:
- Batch details — filename, letter count, letter class, status and timestamps — stay available in the file listing and through the status endpoints, so sendings can still be traced.
- Recipient details given in the API call are cleared 90 days after the letter was created.
- A social security number given for a digital post lookup is cleared as soon as the letter reaches its final status, whether it was delivered or ended in an error.
Delivery schedule
Letters that are sent to Maventa before 24:00 will get printed, processed and enveloped overnight and handed over to the mail distributor the following morning. Production does not take place during the weekends and holidays.
Delivery depends on the selected letter class. For Finnish companies sending domestic letters, there are two options: Priority and Economy.
For Finnish domestic letters, the practical difference between Priority and Economy is often minimal. Regional delivery schedules can have more impact on delivery timing than the letter class itself. Priority may still benefit B2B invoicing, but for consumer invoices, the recipient’s local delivery schedule is usually the deciding factor.
For international letters, only priority is available.
Digital post delivery
Digital post means delivering a letter to the recipient’s digital mailbox instead of printing and posting it. When a recipient has a digital mailbox account, they have actively opted in to digital delivery. Digital delivery is faster and cheaper than a paper letter, and it reaches recipients in the channel they have chosen.
Kivra moves to OmaPosti on 15th of October 2026. Until then, Maventa’s own lookup delivers digital post to the Kivra digital mailbox. From 15th of October 2026 it delivers to Posti’s OmaPosti instead. Recipients are not moved across automatically. Kivra still accepts deliveries until 31st of October 2026 for recipients who have a Kivra account but no OmaPosti. After that, a recipient without an OmaPosti account is no longer matched by the lookup, so their letter is printed and posted. Sending parameters do not change. The letters[].delivery_method value changes from kivra to omaposti, and the billing action from EINVOICE_KIVRA_FI to EINVOICE_OMAPOSTI_FI. See Kivra moves to OmaPosti.
Two lookup points
From 15th of October 2026, a letter can be identified as digital post at two points in the flow. Both end up in the recipient’s OmaPosti, but they differ in what they require, what the sender gets to see, and what the letter costs.
| Maventa’s lookup | The print service provider’s lookup | |
|---|---|---|
| When | Before the letter is handed over to the print service provider | Just before printing |
| Requires | Recipient details in the sending | Sender’s OVT code, and the recipient’s name and address |
| Reported to the sender | Yes. letters[].delivery_method is omaposti (kivra before 15th of October 2026) |
No. The delivery is not reported back to Maventa, so the sender cannot tell whether the letter reached OmaPosti or was printed and posted |
| Billed as | A digital delivery, with the action EINVOICE_OMAPOSTI_FI
|
A printed letter, considerably more expensive than a digital delivery |
| Available | Ongoing | As a fallback until 1st of March 2027 |
On 1st of March 2027, the print service provider’s separate lookup is removed and all OmaPosti lookups are performed by Maventa. That leaves one digital post channel, which is reported to the sender and priced as a digital delivery.
Traffic is not moved to Maventa’s lookup automatically. A letter takes that route only when it carries recipient details, which means sending it with the JSON API (POST /input_json) or with the IPOSTXML-based method where the recipient is given in the iPost-XML metadata.
Maventa recommends moving to the JSON API if you still use the IPOSTXML-based method. It gives the most reliable digital post delivery, because the recipient details are included in the call, and it prepares the integration for the removal of the print service provider’s separate lookup.
Requirements for Maventa’s digital post lookup
Digital post delivery through Maventa’s own lookup is attempted only when all of the following are true. If any of them is not met, the letter continues to the print route as normal, where the print service provider’s lookup may still deliver it digitally, though without reporting it back and at the printed letter price.
-
The letter carries recipient details. These are only available when sending with the JSON API, or with the IPOSTXML-based method where the recipient is given in the iPost-XML metadata. Letters sent as plain PDFs in a ZIP package (
document_type=PDF), including everything sent through the mass printing user interface, carry no recipient details and are therefore never matched by Maventa’s lookup. -
The recipient is in Finland. The recipient’s country must be
FIor left empty. -
prevent_digital_postis not set. Setting it totrueopts the letter out of digital post entirely, at both lookup points. - The PDF is at most 10 MB. Larger letters fall through to the print route automatically.
How Maventa’s lookup works
Before a letter is handed over to the print service provider, Maventa performs an automatic lookup against the digital mailbox registry using the recipient’s information. If a match is found, the letter is delivered to the recipient’s digital mailbox instead of being printed and mailed. If no match is found, delivery falls through to the normal print route.
The lookup is performed using the following recipient data, in priority order:
- Social security number (SSN)
- Email address
- Full name + street address + postal code + post office
- Full name + phone number
To improve match rates, provide as much recipient information as possible in your API calls. The JSON API supports optional recipient[email], recipient[phone] and recipient[ssn] parameters that enable additional lookup methods beyond name and address matching.
Maventa’s lookup does not require the sender’s OVT code. The sender account (tenant) is based on the company’s business ID (BID), so no OVT information needs to be included in the API call. The print service provider’s lookup does require the sender’s OVT code, along with the recipient’s name and address.
Automatic sender setup
Each company can have only one sender account (tenant) in the digital mailbox service. The tenant represents the company as a recognised sender, and its name is what recipients see in their inbox.
If a tenant does not already exist for the company, Maventa automatically creates one when the company’s first letter is delivered as digital post. No action is required. Maventa sets the tenant name based on the company’s official name from the YTJ registry at the time the company was created in Maventa.
If another service provider has already created a tenant for the company, that existing tenant and its name are used. To update the tenant name, contact the digital mailbox provider directly.
Custom letter subject
You can customise the letter subject that the recipient sees in their digital mailbox using the letter_subject parameter. By default, the subject is “Kirje lähettäjältä [company name]”.
Opting out of digital post delivery
To force physical delivery for a specific letter, for example when a guaranteed paper trail is required, set the prevent_digital_post parameter to true in the API call. This opts the letter out of digital post at both lookup points.
Billing
Digital post deliveries made through Maventa’s own lookup are billed as consumer invoices. The billing action is EINVOICE_KIVRA_FI until 15th of October 2026 and EINVOICE_OMAPOSTI_FI after that. The price does not change.
Letters delivered through the print service provider’s lookup are billed as printed letters, which is considerably more expensive. Moving traffic to Maventa’s lookup makes delivery information and pricing consistent, because a digital delivery is then always identified at the same point in the flow.
User account closing
If you wish to close the service, please contact Maventa support.