# Developer Platform

Welcome to your team’s developer platform

<h2 align="center">Ropo Developer Portal</h2>

<p align="center"></p>

<p align="center">Welcome to the Ropo One® Developer Portal – your go-to space for technical resources that help you connect systems, automate workflows, and enhance the way you use our solutions. Here you’ll find clear API documentation, integration guides, and technical references to support you through every step of your development or implementation journey. </p>

<p align="center">This portal is designed for our customers and the technical teams who support them, offering everything you need to get started quickly and make the most of Ropo One’s capabilities. </p>

<p align="center"></p>

<p align="center"><img src="https://2882741421-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMgm9UFMz3YzTNO6EFQm7%2Fuploads%2Fqt1vcYOTHqejGzlhNk3C%2FFrame%20593.png?alt=media&amp;token=6b967e1c-f4ae-4cd6-8fcd-9c2c54f9c165" alt=""></p>

<p align="center"></p>

{% columns %}
{% column %}
{% embed url="<https://ropo.com/>" %}
{% endcolumn %}

{% column %}
{% embed url="<https://status.ropo.com/>" %}

{% endcolumn %}
{% endcolumns %}


# Ropo One™  Embed

#### Embed service’s API calls <a href="#embed-services-api-calls" id="embed-services-api-calls"></a>

To be able to use Ropo’s Embed service through REST, the following API calls are required at minimum:

**Posting embed invoices to Ropo One**

{% content-ref url="/pages/rCNyPTWqcnz2cnjf7lCt" %}
[Invoice](/guides/basics/invoice)
{% endcontent-ref %}

#### Other most used REST API calls with Embed service <a href="#other-most-used-rest-api-calls-with-unify-service" id="other-most-used-rest-api-calls-with-unify-service"></a>

* **Posting bypass payments for invoices which are in Ropo One**

{% content-ref url="/pages/wd4TOwK261DeytWm5Qa6" %}
[Payment](/guides/basics/payment)
{% endcontent-ref %}

* **Get the invoice image from Ropo One.**\
  REST API call’s response returns the invoice image as PDF.

{% content-ref url="/pages/Nvip8UHIHLHOZDmSNfmU" %}
[Get PDF](/guides/general-add-ons/get-pdf)
{% endcontent-ref %}

* **Preview the invoice image before posting the invoice to Ropo One**

{% content-ref url="/pages/8DGD3VOZOjJIJ9k6CxKQ" %}
[Preview of invoice](/guides/general-add-ons/preview-of-invoice)
{% endcontent-ref %}

* **Post the invoice as a local print to Ropo One and send the invoice by yourself to the recipient.**\
  REST API call’s response returns the invoice image as PDF.

{% content-ref url="/pages/goQ5kgpXBYegxZA4J0Fq" %}
[Local print of invoice](/guides/general-add-ons/local-print-of-invoice)
{% endcontent-ref %}

***

### Embed: Posting Embed invoice with minimum level information to Ropo One <a href="#embed-posting-embed-invoice-with-minimum-level-information-to-ropo-one" id="embed-posting-embed-invoice-with-minimum-level-information-to-ropo-one"></a>

Minimum required level information in dataset JSON of the invoice, for posting it to be unify invoice in Ropo One, are listed below:

#### Invoice <a href="#invoice" id="invoice"></a>

**Invoice Data (`dataset` tag):**

* **jobtype:** Message type (e.g., 0 for invoice)
* **address:** Address of the recipient
* **postcode:** Customer’s postal code
* **company:** B2B end customer’s name (if customer type = 1)
* **person:** B2C end customer’s name (if customer type = 2)
* **city:** Customer’s post office
* **customertype:** Client type (1 = company, 2 = private person)
* **billdate:** Date of invoice in the form of YYYY-MM-DD
* **paydate:** Date of issue in the form of YYYY-MM-DD

**Invoice Rows (`payrow` tag):**

* **desc:** Name of the product
* **count:** Number of items
* **amount:** Unit price (excl. tax)
* **taxpr:** Value Added Tax (0-100)

**Accountrow**

* **accountid:** Specifies the account code for the transaction
* **debit** and **credit:** Indicate the amounts to be debited or credited
* **desc:** Provides a description of the transaction
* **netamount:** The net amount excluding VAT
* **vatamount:** The VAT amount
* **taxpr:** The VAT percentage

**Example JSON**

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "company": "Example Company",
        "address": "123 Example Street",
        "postcode": "12345",
        "city": "Example City",
        "customertype": "1",
        "billdate": "2025-05-09",
        "paydate": "2025-06-09",
        "payrow": [
          {
            "desc": "Product Description",
            "count": "1",
            "amount": "100.00",
            "taxpr": "24.00"
          }
        ],
        "accountrow": [
          {
            "accountid": "1701",
            "debit": 124.0,
            "credit": null,
            "desc": "Invoice line",
            "netamount": 100.0,
            "vatamount": 24.0,
            "taxpr": 24
          },
          {
            "accountid": "3000",
            "debit": null,
            "credit": 124.0,
            "desc": "Invoice line",
            "netamount": 100.0,
            "vatamount": 24.0,
            "taxpr": 24
          }
        ]
      }
    ]
  }
}
```

***

### How to post the Embed invoice job to Ropo One <a href="#how-to-post-the-embed-invoice-job-to-ropo-one" id="how-to-post-the-embed-invoice-job-to-ropo-one"></a>

You need to know to which country and to which environment you are posting the reminder job. Ropo has country-specific environments for testing and production purposes.

#### Test environments <a href="#test-environments" id="test-environments"></a>

* **FIN:** [https://rc.ropo24.fi](https://rc.ropo24.fi/)
* **SWE:** [https://rc.ropo24.se](https://rc.ropo24.se/)
* **NOR:** [https://rc.ropo24.no](https://rc.ropo24.no/)

#### Prod environments <a href="#prod-environments" id="prod-environments"></a>

* **FIN:** [https://ropo24.fi](https://ropo24.fi/)
* **SWE:** [https://ropo24.se](https://ropo24.se/)
* **NOR:** [https://ropo24.no](https://ropo24.no/)

For each environment, your company’s Ropo One profile has its own `cid`and `apicode`.

When posting jobs to Ropo One, you should be using jobs API-call:\
Example Swagger link to Finnish environment: <https://rc.ropo24.fi/swagger/#/jobs/JobAddJobAction>

***

#### Authorization <a href="#authorization" id="authorization"></a>

First, you need to do the authorization with `cid` and `apicode` which Ropo has given to your knowledge:

**Fetch the token from the desired environment with your cid and apicode:**

```bash
curl -X POST "https://rc.ropo24.fi/rest/token" \
  -H "accept: application/json" \
  -H "Content-Type: application/json" \
  -d "{\"cid\":\"CIDCODE\",\"apicode\":\"APICODE\"}"
```

As a response, you will get the token:

```json
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwMDczIiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTc0Njc3NDQ0NywiZXhwIjoxNzQ2NzgxNjQ3fQ.OJGk9_760dldmaLIkqis2zv8hay5m6VsTDmiTfFuJUo_rTlrEgZXSyrnxhK50Xmfds9z-G-PXPfaJnQX_NnmKw"}
```

***

#### Posting the job <a href="#posting-the-job" id="posting-the-job"></a>

Then use the token as authorization header when posting job to Ropo One:

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" \
  -H "accept: application/json" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "datastream": {
      "dataset": [
        {
          "jobtype": "0",
          "company": "Example Company",
          "address": "123 Example Street",
          "postcode": "12345",
          "city": "Example City",
          "customertype": "1",
          "billdate": "2025-05-09",
          "paydate": "2025-06-09",
          "payrow": [
            {
              "desc": "Product Description",
              "count": "1",
              "amount": "100.00",
              "taxpr": "24.00"
            }
          ],
          "accountrow": [
            {
              "accountid": "1701",
              "debit": 124,
              "credit": null,
              "desc": "Sales Account",
              "netamount": 100,
              "vatamount": 24,
              "taxpr": 24
            },
            {
              "accountid": "3000",
              "debit": null,
              "credit": 124,
              "desc": "Receivable Account",
              "netamount": 100,
              "vatamount": 24,
              "taxpr": 24
            }
          ]
        }
      ]
    }
  }'
```

***

#### Response <a href="#response" id="response"></a>

As a response to posting the job to Ropo One, Ropo One gives the information whether the job was accepted or rejected.

```json
{
  "result": [
    {
      "accepted": 1,
      "amount": 124,
      "billnum": "3224",
      "billcode": "",
      "error": null,
      "evoicetype": "",
      "jobid": 28118113,
      "jobstatus": "0",
      "jobtype": "0",
      "notice": null,
      "origbillnum": null,
      "ownref": "",
      "print": null,
      "receiver": "Example Company",
      "reference": "157000073281181136",
      "sendtype": "post"
    }
  ],
  "errors": [],
  "accepted": 1
}
```


# Ropo One™ Unify

#### Unify service’s API calls <a href="#unify-services-api-calls" id="unify-services-api-calls"></a>

To be able to use Ropo’s unify service through REST, next API calls are required to have in place:

**Posting unify invoices to Ropo One**

{% content-ref url="/pages/rCNyPTWqcnz2cnjf7lCt" %}
[Invoice](/guides/basics/invoice)
{% endcontent-ref %}

#### Other most used REST API calls with Unify service are next ones: <a href="#other-most-used-rest-api-calls-with-unify-service-are-next-ones" id="other-most-used-rest-api-calls-with-unify-service-are-next-ones"></a>

**Posting bypass payments for invoices which are in Ropo One**

{% content-ref url="/pages/wd4TOwK261DeytWm5Qa6" %}
[Payment](/guides/basics/payment)
{% endcontent-ref %}

**Posting credit note allocated or refunded information for invoices which are in Ropo One**

{% content-ref url="/pages/DbZVc1BYjG9BPuN48Zfl" %}
[Credit note allocation](/guides/basics/credit-note-allocation)
{% endcontent-ref %}

**Get the invoice image from Ropo One. REST API call’s response returns the invoice image as pdf.**

{% content-ref url="/pages/Nvip8UHIHLHOZDmSNfmU" %}
[Get PDF](/guides/general-add-ons/get-pdf)
{% endcontent-ref %}

**Preview the invoice image before posting the invoice to Ropo One**

{% content-ref url="/pages/8DGD3VOZOjJIJ9k6CxKQ" %}
[Preview of invoice](/guides/general-add-ons/preview-of-invoice)
{% endcontent-ref %}

**Post the invoice as a local print to Ropo One and send the invoice by yourself to the recipient. REST API call’s response returns the invoice image as pdf.**

{% content-ref url="/pages/goQ5kgpXBYegxZA4J0Fq" %}
[Local print of invoice](/guides/general-add-ons/local-print-of-invoice)
{% endcontent-ref %}

***

#### Unify: Posting unify invoice with minimum level information to Ropo One <a href="#unify-posting-unify-invoice-with-minimum-level-information-to-ropo-one" id="unify-posting-unify-invoice-with-minimum-level-information-to-ropo-one"></a>

Minimum required level information in dataset json of the invoice, for posting it to be unify invoice in Ropo One, are listed below:

**Invoice**

**Invoice Data (dataset tag):**

* **jobtype:** Message type (e.g., 0 for invoice).
* **address:** Address of the recipient.
* **postcode:** Customer’s postal code.
* **company:** b2b end customer’s name (if customer type = 1)
* **person:** b2c end customer’s name (if customer type = 2)
* **city:** Customer’s post office.
* **customertype:** Client type (1 = company, 2 = private person).
* **billdate:** Date of invoice in the form of YYYY-MM-DD.
* **paydate:** Date of issue in the form of yyyy-mm-dd.

**Invoice Rows (payrow tag):**

* **desc:** Name of the product.
* **count:** Number of items.
* **amount:** Unit price (excl. tax).
* **taxpr:** Value Added Tax (0-100)

```json
{
    "datastream": {
        "dataset": [
            {
                "jobtype": "0",
                "address": "123 Main Street",
                "postcode": "12345",
                "company": "test company",
                "customertype": "1",
                "city": "Sample City",
                "billdate": "2025-05-06",
                "paydate": "2025-05-20",
                "payrow": [
                    {
                        "desc": "Product Description",
                        "count": "10.00",
                        "amount": "50.00",
                        "taxpr": "24"
                    }
                ]
            }
        ]
    }
}
```

***

### How to post the unify invoice job to Ropo One <a href="#how-to-post-the-unify-invoice-job-to-ropo-one" id="how-to-post-the-unify-invoice-job-to-ropo-one"></a>

You need to know to which country and to which environment you are posting the reminder job. Ropo has country specific environments for testing and production purposes.

**Test environments:**

* FIN: [https://rc.ropo24.fi](https://rc.ropo24.fi/)
* SWE: [https://rc.ropo24.se](https://rc.ropo24.se/)
* NOR: [https://rc.ropo24.no](https://rc.ropo24.no/)

**Prod environments:**

* FIN: [https://ropo24.fi](https://ropo24.fi/)
* SWE: [https://ropo24.se](https://ropo24.se/)
* NOR: [https://ropo24.no](https://ropo24.no/)

For each environment your company’s Ropo One profile has own cid and apicode.

When posting jobs to Ropo One, you should be using jobs API-call: example swagger link to finnish environment <https://rc.ropo24.fi/swagger/#/jobs/JobAddJobAction>

First you need to do the authorization with cid and api code which Ropo has given to your knowledge:

**Fetch the token from wanted environment with your cid and api code**

```bash
curl -X POST "https://rc.ropo24.fi/rest/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"cid\":\"CIDCODE\",\"apicode\":\"APICODE\"}"
```

As a response, you will get the token

```json
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwMDczIiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTc0Njc3NDQ0NywiZXhwIjoxNzQ2NzgxNjQ3fQ.OJGk9_760dldmaLIkqis2zv8hay5m6VsTDmiTfFuJUo_rTlrEgZXSyrnxhK50Xmfds9z-G-PXPfaJnQX_NnmKw"}
```

Then use the token as authorization header when posting job to Ropo One

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" -H "accept: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwMDczIiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTc0Njc3NDQ0NywiZXhwIjoxNzQ2NzgxNjQ3fQ.OJGk9_760dldmaLIkqis2zv8hay5m6VsTDmiTfFuJUo_rTlrEgZXSyrnxhK50Xmfds9z-G-PXPfaJnQX_NnmKw" -H "Content-Type: application/json" -d "{\"datastream\":{\"dataset\":[{\"jobtype\":\"0\",\"address\":\"123 Main Street\",\"postcode\":\"12345\",\"company\":\"test company\",\"customertype\":\"1\",\"city\":\"Sample City\",\"billdate\":\"2025-05-06\",\"paydate\":\"2025-05-20\",\"payrow\":[{\"desc\":\"Product Description\",\"count\":\"10.00\",\"amount\":\"50.00\",\"taxpr\":\"24\"}]}]}}"
```

As a response to posting the job to Ropo One, Ropo One gives the information was the job accepted or rejected from Ropo One.

```json
{
 "result": [
 {
 "accepted": 1,
 "amount": 620,
 "billnum": "3222",
 "billcode": "",
 "error": null,
 "evoicetype": "",
 "jobid": 28117994,
 "jobstatus": "0",
 "jobtype": "0",
 "notice": null,
 "origbillnum": null,
 "ownref": "",
 "print": null,
 "receiver": "test company",
 "reference": "157000073281179944",
 "sendtype": "post"
 }
 ],
 "errors": [],
 "accepted": 1
}
```


# Ropo One™ Connect

#### Connect service’s API calls <a href="#connect-services-api-calls" id="connect-services-api-calls"></a>

Connect service contains two individual services (Information logistic service and reminder / debt collection service).

* **Information logistic service** is for invoice distribution to the recipient
* **Reminder and debt collection service** is for collecting open receivables from debtors

To be able to use Ropo’s Connect service through REST, next API calls are required to have in place:

**Posting Information logistic invoices to Ropo One (information logistic service)**

{% content-ref url="/pages/rCNyPTWqcnz2cnjf7lCt" %}
[Invoice](/guides/basics/invoice)
{% endcontent-ref %}

**Posting invoices which should be reminded or collected to Ropo One (reminder and debt collection service)**

{% content-ref url="/pages/TKxRGmoYiq5LetFt7GdG" %}
[Reminder](/guides/basics/reminder)
{% endcontent-ref %}

{% content-ref url="/pages/YGBPN6uX2gAnqghZQ8YF" %}
[Debt Collection](/guides/basics/debt-collection)
{% endcontent-ref %}

#### Other most used REST API calls with unify service are next ones <a href="#other-most-used-rest-api-calls-with-unify-service-are-next-ones" id="other-most-used-rest-api-calls-with-unify-service-are-next-ones"></a>

**Information logistic service**

* **Get the invoice image from Ropo One.** REST API call’s response returns the invoice image as pdf.

{% content-ref url="/pages/Nvip8UHIHLHOZDmSNfmU" %}
[Get PDF](/guides/general-add-ons/get-pdf)
{% endcontent-ref %}

* **Preview the invoice image before posting the invoice to Ropo One**

{% content-ref url="/pages/8DGD3VOZOjJIJ9k6CxKQ" %}
[Preview of invoice](/guides/general-add-ons/preview-of-invoice)
{% endcontent-ref %}

* **Post the invoice as a local print to Ropo One and send the invoice by yourself to the recipient.** REST API call’s response returns the invoice image as pdf.

{% content-ref url="/pages/goQ5kgpXBYegxZA4J0Fq" %}
[Local print of invoice](/guides/general-add-ons/local-print-of-invoice)
{% endcontent-ref %}

**Reminder and debt collection services:**

* **Posting bypass payments or capital cancellations for invoices which are in Ropo One in reminder and debt collection services.**

{% content-ref url="/pages/wd4TOwK261DeytWm5Qa6" %}
[Payment](/guides/basics/payment)
{% endcontent-ref %}

* **Posting credit note allocated or refunded information for invoices which are in Ropo One in reminder and debt collection services.**

{% content-ref url="/pages/DbZVc1BYjG9BPuN48Zfl" %}
[Credit note allocation](/guides/basics/credit-note-allocation)
{% endcontent-ref %}

***

#### Connect: Posting information logistic invoice with minimum level information to Ropo One <a href="#connect-posting-information-logistic-invoice-with-minimum-level-information-to-ropo-one" id="connect-posting-information-logistic-invoice-with-minimum-level-information-to-ropo-one"></a>

Minimum required level information in dataset json of the invoice, for posting it to be information logistic invoice in Ropo One, are listed below:

**Invoice**

**Invoice Data (`dataset` tag):**

* **jobtype:** Message type 300
* **address:** Address of the recipient.
* **postcode:** Customer’s postal code.
* **company:** b2b end customer’s name (if customer type = 1)
* **person:** b2c end customer’s name (if customer type = 2)
* **city:** Customer’s post office.
* **customertype:** Client type (1 = company, 2 = private person).
* **billdate:** Date of invoice in the form of YYYY-MM-DD.
* **paydate:** Date of issue in the form of yyyy-mm-dd.

**Invoice Rows (`payrow` tag):**

* **desc:** Name of the product.
* **count:** Number of items.
* **amount:** Unit price (excl. tax)
* **taxpr:** Value Added Tax (0-100)

Example:

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "300",
        "address": "123 Main Street",
        "postcode": "12345",
        "company": "test company",
        "customertype": "1",
        "city": "Sample City",
        "billdate": "2025-05-06",
        "paydate": "2025-05-20",
        "payrow": [
          {
            "desc": "Product Description",
            "count": "10.00",
            "amount": "50.00",
            "taxpr": "24"
          }
        ]
      }
    ]
  }
}
```

***

#### How to post the information logistic invoice job to Ropo One <a href="#how-to-post-the-information-logistic-invoice-job-to-ropo-one" id="how-to-post-the-information-logistic-invoice-job-to-ropo-one"></a>

You need to know to which country and to which environment you are posting the reminder job. Ropo has country specific environments for testing and production purposes.

**Test environments:**

* FIN: [https://rc.ropo24.fi](https://rc.ropo24.fi/)
* SWE: [https://rc.ropo24.se](https://rc.ropo24.se/)
* NOR: [https://rc.ropo24.no](https://rc.ropo24.no/)

**Prod environments:**

* FIN: [https://ropo24.fi](https://ropo24.fi/)
* SWE: [https://ropo24.se](https://ropo24.se/)
* NOR: [https://ropo24.no](https://ropo24.no/)

For each environment your company’s Ropo One profile has own cid and apicode.

When posting jobs to Ropo One, you should be using jobs API-call: example swagger link to finnish environment <https://rc.ropo24.fi/swagger/#/jobs/JobAddJobAction>

First you need to do the authorization with cid and api code which Ropo has given to your knowledge:

**Fetch the token from wanted environment with your cid and api code**

```bash
curl -X POST "https://rc.ropo24.fi/rest/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"cid\":\"CIDCODE\",\"apicode\":\"APICODE\"}"
```

As a response, you will get the token

```json
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwMDczIiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTc0Njc3NDQ0NywiZXhwIjoxNzQ2NzgxNjQ3fQ.OJGk9_760dldmaLIkqis2zv8hay5m6VsTDmiTfFuJUo_rTlrEgZXSyrnxhK50Xmfds9z-G-PXPfaJnQX_NnmKw"}
```

Then use the token as authorization header when posting job to Ropo One

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" -H "accept: application/json" -H "Authorization: Bearer <TOKEN>" -H "Content-Type: application/json" -d "{\"datastream\":{\"dataset\":[{\"jobtype\":\"0\",\"address\":\"123 Main Street\",\"postcode\":\"12345\",\"company\":\"test company\",\"customertype\":\"1\",\"city\":\"Sample City\",\"billdate\":\"2025-05-06\",\"paydate\":\"2025-05-20\",\"payrow\":[{\"desc\":\"Product Description\",\"count\":\"10.00\",\"amount\":\"50.00\",\"taxpr\":\"24\"}]}]}}"
```

As a response to posting the job to Ropo One, Ropo One gives the information was the job accepted or rejected from Ropo One.

```json
{
  "result": [
    {
      "accepted": 1,
      "amount": 620,
      "billnum": "3222",
      "billcode": "",
      "error": null,
      "evoicetype": "",
      "jobid": 28117994,
      "jobstatus": "300",
      "jobtype": "300",
      "notice": null,
      "origbillnum": null,
      "ownref": "",
      "print": null,
      "receiver": "test company",
      "reference": "157000073281179944",
      "sendtype": "post"
    }
  ],
  "errors": [],
  "accepted": 1
}
```

***

#### Connect: Posting invoices with minimum required level information to Ropo’s reminder and debt collection services into Ropo One <a href="#connect-posting-invoices-with-minimum-required-level-information-to-ropos-reminder-and-debt-collecti" id="connect-posting-invoices-with-minimum-required-level-information-to-ropos-reminder-and-debt-collecti"></a>

In reminder and debt collection services Ropo could start the service from the reminder status or from debt collection status. If you are posting invoice to be reminder in Ropo One, you don’t need to post it again as debt collection, since Ropo One will proceed the reminded invoice to be in debt collection automatically if it’s not paid by the debtor.

***

**Posting invoice to be reminded with minimum level information to Ropo One**

Invoice which will be reminded monitored by Ropo.

Minimum level information in dataset json of the invoice, for posting it to be reminder in Ropo One, are listed below:

* **jobtype** = type of the job. Jobtype 1 is reminder
* **billcode** = invoice reference. This will be used as a default to be settlement reference of money payment to your settlement account.
* **amount** = open capital amount of the invoice
* **billnum** = invoice number of the invoice
* **person** = Consumer debtor’s name. NOTE! **company** field should be used with company debtor.
* **address** = Debtor’s Street address
* **postcode** = Debtor’s post code
* **city** = Debtor’s postal town
* **customertype** = customer type. 2 = person, 1 = company
* **billdate** = invoice date of the invoice
* **paydate** = invoice’s due date

Example:

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "1",
        "billcode": "4349",
        "amount": "55.32",
        "billnum": "1000",
        "person": "Nelli Niirulainen",
        "address": "Kellokoskenkatu 15 A 3",
        "postcode": "70100",
        "city": "KUOPIO",
        "customertype": "2",
        "billdate": "2017-01-01",
        "paydate": "2017-01-14"
      }
    ]
  }
}
```

***

#### How to post the reminder job to Ropo One <a href="#how-to-post-the-reminder-job-to-ropo-one" id="how-to-post-the-reminder-job-to-ropo-one"></a>

You need to know to which country and to which environment you are posting the reminder job. Ropo has country specific environments for testing and production purposes.

**Test environments:**

* FIN: [https://rc.ropo24.fi](https://rc.ropo24.fi/)
* SWE: [https://rc.ropo24.se](https://rc.ropo24.se/)
* NOR: [https://rc.ropo24.no](https://rc.ropo24.no/)

**Prod environments:**

* FIN: [https://ropo24.fi](https://ropo24.fi/)
* SWE: [https://ropo24.se](https://ropo24.se/)
* NOR: [https://ropo24.no](https://ropo24.no/)

For each environment your company’s Ropo One profile has own cid and apicode.

When posting jobs to Ropo One, you should be using jobs API-call: example swagger link to finnish environment <https://rc.ropo24.fi/swagger/#/jobs/JobAddJobAction>

First you need to do the authorization with cid and api code which Ropo has given to your knowledge:

**Fetch the token from wanted environment with your cid and api code**

```bash
curl -X POST "https://rc.ropo24.fi/rest/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"cid\":\"CIDCODE\",\"apicode\":\"APICODE\"}"
```

As a response, you will get the token

```json
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwNDM5Iiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTU2ODk2Mzc4OCwiZXhwIjoxNTY4OTcwOTg4fQ.KyVsEJ63eUBvTrOz4bsfrm0gNLL-cSJcBBMWJnJ183jgc5zEye7p-u3kYSjUdzehoYuN-TayHJJy502DSKGmTA"}
```

Then use the token as authorization header when posting job to Ropo One

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" -H "accept: application/json" -H "Authorization: Bearer <TOKEN>" -H "Content-Type: application/json" -d "{\"datastream\":{\"dataset\":[{\"jobtype\":\"1\",\"billcode\":\"4349\",\"amount\":\"55.32\",\"billnum\":\"87945191\",\"person\":\"Nelli Niirulainen\",\"address\":\"Kellokoskenkatu 15 A 3\",\"postcode\":\"70100\",\"city\":\"KUOPIO\",\"customertype\":\"2\",\"billdate\":\"2017-01-01\",\"paydate\":\"2017-01-14\"}]}}"
```

As a response to posting the job to Ropo One, Ropo One gives the information was the job accepted or rejected from Ropo One.

```json
{
  "result": [
    {
      "accepted": 1,
      "amount": 55.32,
      "billnum": "87945191",
      "billcode": "4349",
      "error": null,
      "evoicetype": "",
      "jobid": 26692344,
      "jobstatus": "1",
      "jobtype": "1",
      "notice": null,
      "origbillnum": null,
      "ownref": "",
      "print": null,
      "receiver": "Nelli Niirulainen",
      "reference": "157000073266923445",
      "sendtype": "post"
    }
  ],
  "errors": [],
  "accepted": 1
}
```

***

#### Posting invoice to be collected with minimum level information to Ropo One <a href="#posting-invoice-to-be-collected-with-minimum-level-information-to-ropo-one" id="posting-invoice-to-be-collected-with-minimum-level-information-to-ropo-one"></a>

**NOTE!** In reminder and debt collection services Ropo could start the service from the reminder status or from debt collection status. If you have posted the invoice to be reminder in Ropo One, you don’t need to post it again as debt collection, since Ropo One will proceed the reminded invoice to be in debt collection automatically if it’s not paid by the debtor.

But if, you haven’t posted the invoice already to Ropo One as reminder, you could post it to be collected by Ropo One.

**Invoice which will be collected and monitored by Ropo.**

Minimum required level information in dataset json of the invoice, for posting it to be reminder in Ropo One, are listed below:

* **jobtype** = type of the job. Jobtype 2 is debt collection.
* **billcode** = invoice reference. This will be used as a default to be settlement reference of money payment to your settlement account.
* **amount** = open capital amount of the invoice
* **billnum** = invoice number of the invoice
* **person** = Consumer debtor’s name. NOTE! **company** field should be used with company debtor.
* **address** = Debtor’s Street address
* **postcode** = debtor’s post code
* **city** = debtor’s postal town
* **customertype** = customer type. 2 = person, 1 = company
* **Noticedate** = Date when creditor has sent the reminder to the debtor (Mandatory in Finland).
* **billdate** = invoice date of the invoice
* **paydate** = invoice’s due date

Example:

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "2",
        "billcode": "4349",
        "amount": "55.32",
        "billnum": "1000",
        "person": "Nelli Niirulainen",
        "address": "Kellokoskenkatu 15 A 3",
        "postcode": "70100",
        "city": "KUOPIO",
        "customertype": "2",
        "noticedate": "2025-01-30",
        "billdate": "2025-01-01",
        "paydate": "2025-01-14"
      }
    ]
  }
}
```

***

#### How to post the debt collection job to Ropo One <a href="#how-to-post-the-debt-collection-job-to-ropo-one" id="how-to-post-the-debt-collection-job-to-ropo-one"></a>

You need to know to which country and to which environment you are posting the reminder job. Ropo has country specific environments for testing and production purposes.

**Test environments:**

* FIN: [https://rc.ropo24.fi](https://rc.ropo24.fi/)
* SWE: [https://rc.ropo24.se](https://rc.ropo24.se/)
* NOR: [https://rc.ropo24.no](https://rc.ropo24.no/)

**Prod environments:**

* FIN: [https://ropo24.fi](https://ropo24.fi/)
* SWE: [https://ropo24.se](https://ropo24.se/)
* NOR: [https://ropo24.no](https://ropo24.no/)

For each environment your company’s Ropo One profile has own cid and apicode.

When posting jobs to Ropo One, you should be using jobs API-call: example swagger link to finnish environment <https://rc.ropo24.fi/swagger/#/jobs/JobAddJobAction>

First you need to do the authorization with cid and api code which Ropo has given to your knowledge:

**Fetch the token from wanted environment with your cid and api code**

```bash
curl -X POST "https://rc.ropo24.fi/rest/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"cid\":\"CIDCODE\",\"apicode\":\"APICODE\"}"
```

As a response, you will get the token

```json
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3MDAwNDM5Iiwic2NvcGUiOltdLCJyb2xlcyI6WyJhcGljb2RlIl0sImlhdCI6MTU2ODk2Mzc4OCwiZXhwIjoxNTY4OTcwOTg4fQ.KyVsEJ63eUBvTrOz4bsfrm0gNLL-cSJcBBMWJnJ183jgc5zEye7p-u3kYSjUdzehoYuN-TayHJJy502DSKGmTA"}
```

Then use the token as authorization header when posting job to Ropo One

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" -H "accept: application/json" -H "Authorization: Bearer <TOKEN>" -H "Content-Type: application/json" -d "{\"datastream\":{\"dataset\":[{\"jobtype\":\"2\",\"billcode\":\"4349\",\"amount\":\"55.32\",\"billnum\":\"87945191\",\"person\":\"Nelli Niirulainen\",\"address\":\"Kellokoskenkatu 15 A 3\",\"postcode\":\"70100\",\"city\":\"KUOPIO\",\"customertype\":\"2\",\"noticedate\":\"2025-01-30\",\"billdate\":\"2025-01-01\",\"paydate\":\"2025-01-14\"}]}}"
```

As a response to posting the job to Ropo One, Ropo One gives the information was the job accepted or rejected from Ropo One.

```json
{
  "result": [
    {
      "accepted": 1,
      "amount": 55.32,
      "billnum": "87945191",
      "billcode": "4349",
      "error": null,
      "evoicetype": "",
      "jobid": 26692344,
      "jobstatus": "2",
      "jobtype": "2",
      "notice": null,
      "origbillnum": null,
      "ownref": "",
      "print": null,
      "receiver": "Nelli Niirulainen",
      "reference": "157000073266923445",
      "sendtype": "post"
    }
  ],
  "errors": [],
  "accepted": 1
}
```


# Getting started

Integrate your system with the Ropo One API.

{% stepper %}
{% step %}

### Activate account

Request your `cid` (Customer ID) and `apicode` from Ropo support.
{% endstep %}

{% step %}

### Authenticate

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/UeD0Tz9SXbcZbDK3mwrM" %}
[Authentication](/guides/basics/authentication)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Send an invoice

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/rCNyPTWqcnz2cnjf7lCt" %}
[Invoice](/guides/basics/invoice)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Get invoice image (optional)

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/Nvip8UHIHLHOZDmSNfmU" %}
[Get PDF](/guides/general-add-ons/get-pdf)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Get status information (optional)

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/dTgbr3WVSpSxqxNOtodi" %}
[Status Updates (polling)](/guides/general-add-ons/status-updates-polling)
{% endcontent-ref %}
{% endstep %}
{% endstepper %}


# Authentication

Use `cid` + `apicode` to fetch a JWT token for the Ropo One API.

Get `cid` and `apicode` from Ropo support.

### Obtain a token

Fetch a token with your `cid` and `apicode`.

Use the token in the `Authorization` header:

`Authorization: Bearer <token>`

## POST /token

> Get token

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"auth","description":"Login and get JWT token"}],"servers":[{"url":"/rest","description":"Ropo One"}],"paths":{"/token":{"post":{"tags":["auth"],"summary":"Get token","operationId":"AuthTokenAction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthLogin"}}}},"responses":{"201":{"description":"Successfull login. Token will expire in 2 hours","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthToken"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}}}}}},"components":{"schemas":{"AuthLogin":{"title":"AuthLogin","description":"AuthLogin","required":["cid","apicode"],"properties":{"cid":{"description":"Customer number","type":"string"},"apicode":{"description":"Apicode","type":"string"}},"type":"object"},"AuthToken":{"title":"AuthToken","description":"AuthToken","properties":{"token":{"type":"string"}},"type":"object"},"AuthError":{"title":"AuthError","description":"AuthError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```


# Data transfer limits and ZIP uploads

This page covers request sizing and ZIP uploads. Use this when you send large batches or want to include external files.

### HTTPS only

Use HTTPS. Default port is 443.

### Request size guidance

One request can include multiple documents. The max depends on payload size:

* Up to 1000 small documents per request.
* Up to 500 larger documents per request.

Test your batch size with Ropo before production.

It's preferable to bundle documents to the same payload instead of posting high volume documents individually with single request into Ropo One.

### Standard JSON upload

Send JSON to:

* `POST /rest/jobs`

Add the JWT token in the header:

* `Authorization: Bearer <token>`

### ZIP upload

ZIP upload is useful when:

* you generate data in a non-JSON format
* your format does not support embedded base64 files
* you want to deliver attachments alongside the payload

#### How to send

* Endpoint: `POST /rest/jobs`
* Header: `Content-Type: application/zip`
* Header: `Authorization: Bearer <token>`

#### Example curl

```bash
curl -X POST "https://rc.ropo24.fi/rest/jobs" \
  -H "accept: application/json" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/zip" \
  --data-binary "@/path/to/file.zip"
```

{% hint style="info" %}
ZIP uploads still return the normal JSON response with per-document `accepted` and error details.
{% endhint %}


# Invoice

Send an invoice to Ropo One via the REST API.

### Minimum invoice payload

At minimum, send one `dataset` item with:

* `jobtype`
  * `0` = invoice (Embed or Unify service invoice)
  * `300` = print service (Information logistic invoice from Connect service model)
* debtor details (`person` or `company`, `address`, `postcode`, `city`, `customertype`)
* invoice dates (`billdate`, `paydate`)
* at least one invoice row (`payrow`)

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "person": "Teppo Testaaja",
        "address": "Sammonkatu 23-25 A 7",
        "postcode": "70100",
        "city": "KUOPIO",
        "customertype": "2",
        "billdate": "2017-03-03",
        "paydate": "2017-03-17",
        "payrow": [
          {
            "desc": "Hieronta",
            "count": "1",
            "itemtype": "h",
            "amount": "35.00",
            "taxpr": "24.00"
          }
        ]
      }
    ]
  }
}
```

Depending on your use case, you can add extra fields and features.

### Additional invoice features

Use these when a basic invoice is not enough.

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/LC9x9piPfpSXoeFKHFtg" %}
[Attachments](/guides/basics/invoice/attachments)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/Pl7d0KlHNsuSz5kz9Nic" %}
[Cash discount](/guides/basics/invoice/cash-discount)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/RVmQARyGtcb0L558lpte" %}
[Payment plans](/guides/basics/invoice/payment-plans)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/a0UPj75PdcjYgqWbWD0t" %}
[Financing and invoice purchase](/guides/basics/invoice/financing-and-invoice-purchase)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/iW1G42A40qWkUz5Ip3sV" %}
[Fixed fee (Late Payment Directive)](/guides/basics/invoice/fixed-fee-late-payment-directive)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/NfKNKjox03kZDx1rtHgZ" %}
[Construction site information](/guides/basics/invoice/construction-site-information)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/mveDDYw4c85qq18omPUw" %}
[Print service (own account and reference)](/guides/basics/invoice/print-service-own-account-and-reference)
{% endcontent-ref %}

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/eLnfqMBfKPVmFRo55fm6" %}
[Cover page](/guides/basics/invoice/cover-page)
{% endcontent-ref %}

<table><thead><tr><th>Field</th><th>Description</th><th width="187">Example</th><th>Info</th></tr></thead><tbody><tr><td>addaddress</td><td>Delivery address or additional address to which a copy of the invoice will be sent</td><td></td><td></td></tr><tr><td>address</td><td>Address of the recipient</td><td>Mäkikatu 12 B 4</td><td></td></tr><tr><td>addressaddline1</td><td>The first accessory card in the contact card prints over the recipient's name</td><td></td><td></td></tr><tr><td>addressaddline2</td><td>The second address of the contact card is printed between the name and the street<br>address</td><td></td><td></td></tr><tr><td>addresscountry</td><td>The home country of the recipient</td><td>FIN</td><td></td></tr><tr><td>attachment</td><td>appendix Documentary</td><td></td><td></td></tr><tr><td>billcode</td><td>A reference or message for a payment to be made to the invoice</td><td></td><td></td></tr><tr><td>billdate</td><td>Date of invoice in the form of YYYY-MM-DD</td><td>2026-02-02</td><td></td></tr><tr><td>billnum</td><td>The current number of the invoice in the accountant's account</td><td></td><td></td></tr><tr><td>billtemplate</td><td>Invoice Layout: CUSTOM, ECOM, BOBCAT, INC</td><td>CUSTOM</td><td></td></tr><tr><td>cashbill</td><td>Cash receipt, to be paid directly: 1 = cash receipt</td><td>1</td><td></td></tr><tr><td>checkbillnum</td><td>Make sure the bill number is unique: 1 = on</td><td>1</td><td></td></tr><tr><td>city</td><td>Debtor's post office</td><td></td><td></td></tr><tr><td>collectionprocess</td><td>The type of claim to determine collection process in use</td><td></td><td></td></tr><tr><td>company</td><td>The name of a corporate customer,</td><td>Matin konepaja Oy</td><td></td></tr><tr><td>country</td><td>The country where the customer company is registered</td><td>FIN</td><td></td></tr><tr><td>custnum</td><td>Client's customer number in the client's system</td><td></td><td></td></tr><tr><td>customertype</td><td>Client type: 1 = company, 2 = private person</td><td>1</td><td></td></tr><tr><td>deliverydate</td><td>Delivery date in the form of YYYY-MM-DD</td><td>2026-02-02</td><td></td></tr><tr><td>deliverymethod</td><td>Delivery method as text</td><td></td><td></td></tr><tr><td>deliveryterm</td><td>Delivery terms as text</td><td></td><td></td></tr><tr><td>email</td><td>The email address to which the invoice will be sent</td><td>abc@abc.com</td><td></td></tr><tr><td>email2</td><td>Another e-mail address to which the invoice will be sent</td><td>cba@abc.com</td><td></td></tr><tr><td>evoice</td><td>E-invoice address</td><td>FI123578612717718</td><td></td></tr><tr><td>evoiceint</td><td>Intermediary identifier for electronic billing</td><td>NDEAFIHH</td><td></td></tr><tr><td>freetext</td><td>Free text attached to the end of the invoice</td><td></td><td></td></tr><tr><td>govid</td><td>Customer ID or Identity ID</td><td></td><td></td></tr><tr><td>jobtype</td><td>Message type: 0 = invoice, 1 = reminder, 2 = debt collection, 300 = print service, 301 =<br>mail service</td><td>0</td><td></td></tr><tr><td>language</td><td>Invoice language: eng, fin, swe, nor</td><td>eng</td><td></td></tr><tr><td>model</td><td>Make a mark, the cost of a customer account or any other reference</td><td></td><td></td></tr><tr><td>negvat</td><td>1, if the invoice is used for reverse taxation</td><td>1</td><td></td></tr><tr><td>ordernumber</td><td>Order number</td><td></td><td></td></tr><tr><td>ourcode</td><td>The principal's reference</td><td>Ford Transporter 1.2.2010-15.2.2010</td><td></td></tr><tr><td>overdueinterest</td><td>Overdue interest rate</td><td>8.00</td><td></td></tr><tr><td>ownref</td><td>Temporary delivery reference</td><td></td><td></td></tr><tr><td>paydate</td><td>Date of issue in the form of YYYY-MM-DD</td><td>2026-02-02</td><td></td></tr><tr><td>period</td><td>The date on which the invoice is recorded in the account of the principal</td><td></td><td></td></tr><tr><td>person</td><td>The name of the consumer customer</td><td>Teppo Testaaja</td><td></td></tr><tr><td>phone</td><td>Telephone number of the customer / buyer / debtor</td><td></td><td></td></tr><tr><td>postcode</td><td>Customer's postal code</td><td>70100</td><td></td></tr><tr><td>salesman</td><td>Seller ID</td><td></td><td></td></tr><tr><td>salesmanname</td><td>Seller name or initials</td><td></td><td></td></tr><tr><td>sendtype</td><td>Invoice sending method: post, print, email or evoice, evoicenet, evoicesm, peppol</td><td>post</td><td></td></tr><tr><td>sensible</td><td>The reminder reminder is automatically sent: 1 = no, 0 = yes</td><td>0</td><td></td></tr><tr><td>servicecode</td><td>Cost center, Ropo One™ system</td><td></td><td></td></tr><tr><td>vatid</td><td>Customer VAT ID</td><td>FI22059054</td><td></td></tr><tr><td>vatperiod</td><td>The date on which the VAT is charged in the account of the principal</td><td></td><td></td></tr><tr><td>voucherbatch</td><td>Voucher type</td><td></td><td></td></tr><tr><td>vouchernum</td><td>Voucher number</td><td></td><td></td></tr><tr><td>yourcode</td><td>Buyer's reference</td><td>Teppo Testaaja</td><td></td></tr><tr><td>advancepayment</td><td>Advance payments</td><td></td><td></td></tr></tbody></table>

## POST /jobs

> Add bills

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"post":{"tags":["jobs"],"summary":"Add bills","operationId":"JobAddJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Content type","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Job","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"},"429":{"description":"Too many requests - Too many concurrent requests for this customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}}}}}}}
```


# Prices on the invoice row

This guide explains how to present prices in the invoice

**Simple method**

The invoice prices can be presented simply by entering a tax-free unit price on the invoice row number, the number of counts and the tax percentage on the taxpr-tag. According to this information, Ropo One™ calculates a tax-free price, VAT and a taxable amount for the invoice.

For example, if you sell 2 pc cards at a price of € 8.05 and a book price of € 22.89, a corresponding invoice can be created by simply sending json with these invoice rows:

```json
JSON:
"payrow": [
    {
        "desc": "Angry Birds -pelikortit",
        "count": "2",
        "amount": "8.05",
        "taxpr": "24"
    },
    {
        "desc": "The Theory of Poker",
        "count": "1",
        "amount": "22.89",
        "taxpr": "10"
    }
]
```

According to the above information, the Ropo One™ calculates an undisclosed price of EUR 38.99 (2 x 8.05 + 22.89 = 38.99), VAT amounting to EUR 6.15 (2 x 8.05 x 0.24 + 22.89 x 0.10 = 6.1530) and a taxable amount of EUR 45.14 (39.99 + 6.15 = 45.15).&#x20;

The taxable amount of € 45.14 will be returned in the Ropo One™ reply message in the amount tag, from which it can be extracted from the company's own account.

A simple way is easy to deploy and is useful especially in situations where the buyer does not see the final price or VAT breakdown before the purchase is confirmed.

**The exact way**

In a precise manner, the tax-free sum of the invoice, the amount of the tax, and the Tax amount will be calculated in advance, taking into account possible discounts, and the result will be forwarded to the Ropo One™ in the JSON message. Ropo One™ prints the information reported in the JSON message as invoice.

Please note that for exmaple to pass peppol validations and follow EU semantic rules, you need to use the exact way of informing prices on the invoice.&#x20;

The tax-free amount, tax amount, and Taxable amount of each invoice row are presented under the payrow tag under netamount, vatamount, and totalamount tags. These count-specific data are summed up by the VAT rate and the sums are presented using the taxree tag. Finally, the rows of the VAT return are summed together, and the tax-free amount, tax amount and Tax amount shown below the data tag tag under netamount, vatamount¬ and totalamount tags.

For example, if you sell 2 cards for € 8.05 and a book price of € 22.89, the invoice will be generated by sending the Ropo One™ invoice rows:

```json
JSON:
"payrow": [
    {
        "desc": "Angry Birds -pelikortit",
        "count": "2",
        "amount": "8.05",
        "taxpr": "8.05",
        "netamount": "16.10",
        "vatamount": "3.86",
        "totalamount": "19.96"
    },
    {
        "desc": "The Theory of Poker",
        "count": "1",
        "amount": "22.89",
        "taxpr": "10",
        "netamount": "22.89",
        "vatamount": "2.29",
        "totalamount": "25.18"
    }
]
```

Invoice rows are added to the VAT rate and added to the invoice:

```json
JSON:
"taxrow": [
    {
        "taxpr": "24",
        "netamount": "16.10",
        "vatamount": "3.86",
        "totalamount": "19.96",
    },
    {
        "taxpr": "10",
        "netamount": "22.89",
        "vatamount": "2.89",
        "totalamount": "25.18",
    }
]
```

&#x20;

Finally, the rows of the VAT refund are summed together, and the tax-free amount, tax amount, and Taxable amount of the invoice are shown below the Data tag:

```json
JSON:
"netamount": "38.99",
"vatamount": "6.15",
"totalamount": "45.14",
```

The exact way is useful if the cost calculation method in your system is different from Ropo One™ or if the buyer shows the total amount of the invoice and the VAT breakdown before sending the invoice to Ropo One™. By using the exact method you will ensure that the total amount of the invoice, the amount of the value added and the unpaid pricing in Ropo One™ are the same as in your own system\[1].

<br>

***

\[1]Circumcision errors may still occur with Ropo One credit notes. You can reduce the number of round errors by presenting unit prices for products with multiple decimal places, and rounding errors can be eliminated by generating a credit invoice in the invoicing system and forwarding it to Ropo On via this billing interface.


# EU semantic invoices and validations

Use this when you send invoices with `sendtype: "peppol"`.\
These fields help you pass common EU semantic validations.

### Prerequisite: use the exact pricing method

Peppol validations often fail with the “simple method”.\
Use the “exact way” for prices and totals.

[Prices on the invoice row](/guides/basics/invoice/prices-on-the-invoice-row)

### Required fields on `payrow`

Add these fields to each invoice row:

* `rowpositionidentifier`\
  Unique row identifier.\
  Example: `"1"`.
* `itemtypeun`\
  Unit code for the row quantity.\
  Example: `"PCS"`.\
  Code list: <https://docs.peppol.eu/poacc/billing/3.0/codelist/UNECERec20/>
* `priceunitun`\
  Unit code for the unit price basis.\
  Use this when validations require it.\
  Example: `"PCS"`.\
  Code list: <https://docs.peppol.eu/poacc/billing/3.0/codelist/UNECERec20/>
* `vatcode`\
  VAT category code for the row.\
  Example: `"S"`.\
  Code list: <https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/>

### Required properties on dataset-level `propertyrow`

Add these entries under the same `dataset` object.\
Do not add them inside a `payrow` item.

```json
{
    "datastream": {
        "dataset": [
            {
                "address": "Example street 1",
                "billdate": "2026-02-06",
                "city": "Helsinki",
                "company": "Example Company",
                "customertype": "1",
                "jobtype": "0",
                "netamount": "100.00",
                "paydate": "2026-02-20",
                "payrow": [
                    {
                        "amount": "100.00",
                        "count": "1",
                        "desc": "Service",
                        "itemtypeun": "PCS",
                        "netamount": "100.00",
                        "priceunitun": "PCS",
                        "propertyrow": [
                            {
                                "propname": "final_amount",
                                "propvalue": "100.00"
                            }
                        ],
                        "rowpositionidentifier": "1",
                        "taxpr": "24",
                        "totalamount": "124.00",
                        "vatamount": "24.00",
                        "vatcode": "S"
                    }
                ],
                "postcode": "00100",
                "propertyrow": [
                    {
                        "propname": "receiver_identifier",
                        "propvalue": "5565978888"
                    },
                    {
                        "propname": "receiver_identifier_type",
                        "propvalue": "0007"
                    },
                    {
                        "propname": "payment_means_code",
                        "propvalue": "30"
                    },
                    {
                        "propname": "rows_total_vat_excluded_amount",
                        "propvalue": "100.00"
                    },
                    {
                        "propname": "invoice_total_vat_included_amount",
                        "propvalue": "124.00"
                    }
                ],
                "sendtype": "peppol",
                "taxrow": [
                    {
                        "netamount": "100.00",
                        "taxpr": "24",
                        "totalamount": "124.00",
                        "vatamount": "24.00",
                        "vatcode": "S"
                    }
                ],
                "totalamount": "124.00",
                "vatamount": "24.00",
                "yourcode": "test"
            }
        ]
    }
}
```

#### Property definitions

* `buyer_article_identifier`\
  Buyer’s item identifier.
* `final_amount`\
  Unit price after discounts.
* `receiver_identifier` and `receiver_identifier_type`\
  Recipient identifier and its scheme.\
  Use the values required by the recipient.
* `payment_means_code`\
  Payment method code.\
  Code list: <https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL4461/>
* `rows_total_vat_excluded_amount`\
  Sum of all row net amounts.\
  Excludes VAT.
* `invoice_total_vat_included_amount`\
  Invoice total including VAT.

### Common validation pitfalls

* Missing unit codes (`itemtypeun`, `priceunitun`).
* Duplicate `rowpositionidentifier` values.
* Totals not matching the row sums.
* Using the “simple method” pricing.


# Attachments

Use attachments when the invoice needs extra documents. Typical cases are timesheets, specifications, or signed agreements.

### Supported formats

* PDF
* excel and csv for b2b and peppol invoices

### How to send attachments

You can send multiple attachments. Add them under `dataset.attachment`.

#### Option A: Send file content (`attachmentfile`)

Use this when the attachment is unique per invoice.

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Service", "count": "1", "amount": "100.00", "taxpr": "24" }
        ],
        "attachment": [
          {
            "attachmentname": "specification.pdf",
            "attachmentfile": "<base64-encoded-file>"
          }
        ]
      }
    ]
  }
}
```

#### Option B: Reference a pre-uploaded file (`attachmentid`)

Use this when the same attachment is reused across many invoices.

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Service", "count": "1", "amount": "100.00", "taxpr": "24" }
        ],
        "attachment": [
          { "attachmentid": "2519701" }
        ]
      }
    ]
  }
}
```

### Practical constraints

* Keep margins at least 2 cm in PDF files.
* Keep attachments short. Overlong letters can delay delivery.
* Size of pdf-file containing invoice and attachments is not should not go over one megabyte (1 MB) if invoice is delivered as an e-invoice (b2c, b2b, PEPPOL, Omaposti, Kivra, email)
* Attachment files cannot contain any references to outer resources like links to web-pages or to other documents. Attachment editing or saving it to other formats cannot be blocked.
* If you need many files, consider ZIP uploads.


# Cash discount

Cash discount speeds up payments. You offer a discount if the debtor pays before a given date.

### How it works

Add `cashdiscountrow` under the invoice `dataset`. It is an array, even if you only send one discount.

#### Fields

* `discountdate` (YYYY-MM-DD)
* `discountpercent` (0–100)
* `discountamount` (EUR)
* `discountfreetext` (optional)

### Example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Subscription", "count": "1", "amount": "1415.00", "taxpr": "24" }
        ],
        "cashdiscountrow": [
          {
            "discountdate": "2026-02-16",
            "discountpercent": "2",
            "discountamount": "28.30",
            "discountfreetext": "10 days -2%"
          }
        ]
      }
    ]
  }
}
```

{% hint style="info" %}
If you omit `discountfreetext`, the service can generate the text automatically.
{% endhint %}

{% hint style="warning" %}
The service validates `discountpercent` and `discountamount` against the invoice totals. Keep rounding consistent in your own calculations.
{% endhint %}


# Payment plans

Payment plans split the invoice into instalments. The service can either calculate instalments or you can provide them.

### Calculated payment plan

Use these fields on invoice `dataset`:

* `payplaninterval`. Months between instalments.
* `payplanamount`. Instalment amount in EUR.
* `payplancount`. Number of instalments.

Send `payplaninterval` and one of `payplanamount` or `payplancount`.

#### Example: 100 EUR per month

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payplaninterval": "1",
        "payplanamount": "100.00",
        "payrow": [
          { "desc": "Installment sale", "count": "1", "amount": "499.99", "taxpr": "24" }
        ]
      }
    ]
  }
}
```

### Self-calculated payment plan

Use `payplan.instalment` to set your own amounts and dates.

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payplan": {
          "instalment": [
            { "date": "2026-02-20", "amount": "250.00" },
            { "date": "2026-08-20", "amount": "249.99" }
          ]
        },
        "payrow": [
          { "desc": "Installment sale", "count": "1", "amount": "499.99", "taxpr": "24" }
        ]
      }
    ]
  }
}
```

{% hint style="warning" %}
Payment plans cannot be used for consumer e-invoices or consumer invoices. If you need instalments for consumers, send separate invoices per due item.
{% endhint %}


# Financing and invoice purchase

Financing features are provided by Ropo Finance. They require an agreement before you can use them.

### Financing (`finance: 1`)

Set `finance` to `"1"` on the invoice `dataset`. The invoice is accepted into the system. Delivery can be paused while the financing decision is pending.

#### Requirements

* Financing agreement is active.
* Debtor is a company (`customertype: "1"`).
* `govid` is valid.

#### Example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "finance": "1",
        "customertype": "1",
        "company": "Example Company",
        "govid": "2262509-5",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Goods", "count": "1", "amount": "385.14", "taxpr": "24" }
        ]
      }
    ]
  }
}
```

### Invoice purchase (`finance: 2`)

Set `finance` to `"2"`. This requests invoice purchase instead of financing.

#### Requirements

Same as financing:

* Agreement is active.
* Debtor is a company.
* `govid` is valid.

{% hint style="warning" %}
Do not use `fixedfee` with financed or purchased invoices.
{% endhint %}


# Fixed fee (Late Payment Directive)

The Late Payment Directive (2011/7/EU) allows a fixed compensation on late corporate payments. If you have agreed this with Ropo, you can enable it per invoice.

### How to enable

Set `fixedfee` to `"1"` on the invoice `dataset`.

### Rules

* Only for corporate debtors (`customertype: "1"`).
* Not allowed for consumer debtors.
* Not allowed for invoices with `finance` enabled.

### Example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "fixedfee": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "payrow": [
          { "desc": "Service", "count": "1", "amount": "100.00", "taxpr": "24" }
        ]
      }
    ]
  }
}
```

{% hint style="info" %}
If you set `fixedfee: "1"` for a consumer debtor, the job is rejected.
{% endhint %}


# Construction site information

Construction invoices in Finland may require construction site identifiers. Send them on the invoice `dataset`.

### Fields

* `TA0001`: Construction site ID
* `TA0002`: Construction site number
* `TA0003`: Worksite register flag (`Y` / `N`)

Ropo recommends sending both `TA0001` and `TA0002`.

### Example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "0",
        "customertype": "1",
        "company": "Main contractor Ltd",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "sendtype": "evoice",
        "evoice": "003722059054",
        "evoiceint": "003714377140",
        "TA0001": "TA-FI-EXAMPLE0001-B",
        "TA0002": "1234",
        "TA0003": "Y",
        "freetext": "Worksite address:\nExample site\nExample road 10\n00100 Helsinki",
        "payrow": [
          { "desc": "Carpentry work", "count": "7", "amount": "55.00", "taxpr": "24" }
        ]
      }
    ]
  }
}
```


# Print service (own account and reference)

Use print service when you want Ropo to print and send the invoice. Payments go directly to your account. Ropo does not control payments in this mode.

### How to enable

Use either of these:

* `jobtype: 300`
* `collectionprocess: "T1"`

Both trigger the same behavior.

### What changes

* Debtor pays using your own reference and account.
* No automatic reminders or debt collection.
* You stay responsible for payment monitoring.

If the invoice becomes overdue, you can still send:

* a reminder (`jobtype: 1`)
* a debt collection case (`jobtype: 2`)

### Example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "300",
        "customertype": "1",
        "company": "Example Company",
        "address": "Example street 1",
        "postcode": "00100",
        "city": "Helsinki",
        "billdate": "2026-02-06",
        "paydate": "2026-02-20",
        "billcode": "1234567890",
        "payrow": [
          { "desc": "Service", "count": "1", "amount": "100.00", "taxpr": "24" }
        ]
      }
    ]
  }
}
```


# Cover page

Add a cover page in front of a ready-made PDF when the PDF does not match Ropo's print layout.

Use a cover page when you send a ready-made PDF that does not follow Ropo's print layout.

Ropo adds the cover page as the first page. The sender and receiver details stay visible in the envelope window. The actual letter stays hidden behind the cover page.

Cover page is only used for printed documents. If the document is delivered through a digital channel, the cover page is not used.

### How to enable

Set `post_cover_letter` in the dataset-level `propertyrow` when you post a new job to Ropo One.

### Request example

Add `post_cover_letter` to the dataset-level `propertyrow` of the same document payload as the PDF you send.

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "301",
        "sendtype": "post",
        "customertype": "2",
        "person": "Nelli Niirulainen",
        "address": "Kellokoskenkatu 15 A 3",
        "postcode": "70100",
        "city": "KUOPIO",
        "propertyrow": [
          {
            "propname": "post_cover_letter",
            "propvalue": "1"
          }
        ],
        "image": {
          "filename": "letter.pdf",
          "file": "<base64-pdf>"
        }
      }
    ]
  }
}
```

Use `propvalue` `1` to enable the cover page.

### When to use it

* The PDF is already finalized.
* The PDF does not match Ropo's layout instructions for printing.
* You need the sender and receiver details visible in the envelope window.


# Examples of invoice accountings

Examples of how to use accountdate and accountrow for accounting exports.

Use `accountdate` and `accountrow` when you export invoice accounting entries to your ERP.

### accountdate

`accountdate` controls the accounting period in your ERP.

It is not the same as the invoice date (`billdate`).

If you omit `accountdate`, the service uses `billdate`.

Send it under the invoice `dataset`.

```json
{
  "accountdate": "2026-02-18"
}
```

### accountrow

`accountrow` is an array of accounting rows for the invoice.

Each row typically maps to one debit or credit entry in your chart of accounts.

Send it under the invoice `dataset`.

#### Dimensions

You can pass dimensions using:

* `servicecode_name`
* `type`, `type2`, …, `type10`

`type`…`type10` are strings with max length 10.

### Example: Debit invoice (total 1250.00)

Expected behavior:

* Receivable on the debit side.
* Sales on the credit side.
* `netamount` and `vatamount` are positive.
* Use the same dimensions, VAT data, and tax rate on both entries.

```json
{
  "accountrow": [
    {
      "accountid": 1701,
      "desc": "Invoice line",
      "debit": 1250.0,
      "credit": null,
      "netamount": 1000.0,
      "vatamount": 250.0,
      "taxpr": 25,
      "vatcode": 3,
      "servicecode_name": "10000",
      "type": "XYZ",
      "type2": null,
      "type3": null,
      "type4": null,
      "type5": null,
      "type6": null
    },
    {
      "accountid": 3000,
      "desc": "Invoice line",
      "debit": null,
      "credit": 1250.0,
      "netamount": 1000.0,
      "vatamount": 250.0,
      "taxpr": 25,
      "vatcode": 3,
      "servicecode_name": "10000",
      "type": "XYZ",
      "type2": null,
      "type3": null,
      "type4": null,
      "type5": null,
      "type6": null
    }
  ]
}
```

### Example: Credit invoice (total -1250.00)

Expected behavior:

* Receivable on the credit side.
* Sales on the debit side.
* `netamount` and `vatamount` are negative.
* Use the same dimensions, VAT data, and tax rate on both entries.

```json
{
  "accountrow": [
    {
      "accountid": 1701,
      "desc": "Invoice line",
      "debit": null,
      "credit": 1250.0,
      "netamount": -1000.0,
      "vatamount": -250.0,
      "taxpr": 25,
      "vatcode": 3,
      "servicecode_name": "10000",
      "type": "XYZ",
      "type2": null,
      "type3": null,
      "type4": null,
      "type5": null,
      "type6": null
    },
    {
      "accountid": 3000,
      "desc": "Invoice line",
      "debit": 1250.0,
      "credit": null,
      "netamount": -1000.0,
      "vatamount": -250.0,
      "taxpr": 25,
      "vatcode": 3,
      "servicecode_name": "10000",
      "type": "XYZ",
      "type2": null,
      "type3": null,
      "type4": null,
      "type5": null,
      "type6": null
    }
  ]
}
```

{% hint style="info" %}
`vatcode` is an accounting VAT code. Map it to your ERP’s VAT logic.
{% endhint %}


# Reminder

Send a payment reminder via the Ropo One API.

If the debtor does not pay on time, you can send a reminder.

### Differences vs an invoice

* Set `jobtype` to `1`.
* Do not send invoice rows (`payrow`).
* Send the open amount in `amount`.
* `billcode` (bank reference) is required.

### Digital delivery methods

Reminders can be delivered digitally, for example as e-invoices or email.

#### B2C e-invoice

* `sendtype=b2c`
* `evoice=<receiver e-invoice address>`
* `evoiceint=<receiver e-invoice intermediary>`
* `propertyrow.propname=job_finvoice_paymentid`
* `propertyrow.propvalue=<invoicing subject>`

#### B2B e-invoice

* `sendtype=evoice`
* `evoice=<receiver e-invoice address>`
* `evoiceint=<receiver e-invoice intermediary>`

#### Email

* `sendtype=email`
* `email=<receiver email address>`

#### Other methods

Contact Ropo support.

<details>

<summary>Legacy notes</summary>

The message type 1 is 1 (jobtype tag)

2\. The payment reminder does not contain any invoice rows (payrow tag)

3\. The open sum of the invoice is presented with the amount tag

4\. The Bank's reference number (billcode tag) is required

**Set digital delivery method for the reminder**

Reminders can be delivered by using different digital delivery methods, like b2c and\
b2b e-invoice, email.<br>

For delivering reminders by using digital delivery methods the fields below must be\
populated.<br>

• b2c e-invoice

o sendtype=b2c

o evoice=\[receiver e-invoice address]

o evoiceint=\[receiver e-invoice intermediator]

o propertyrow\.propname = job\_finvoice\_paymentid

o propertyrow\.propvalue = \[invoicing subject]

• b2b e-invoice

o sendtype=evoice\
o evoice=\[receiver e-invoice address]\
o evoiceint=\[receiver e-invoice intermediator]

• email

o sendtype=email\
o email = \[receiver email address]

• Other methods\
o Please contact Ropo support.

</details>

## Minimum data

Minimum dataset fields required to post a reminder.

### Fields

| Key          | Value                         | Notes                                                                            |
| ------------ | ----------------------------- | -------------------------------------------------------------------------------- |
| jobtype      | Type of the job               | 1 = reminder                                                                     |
| billcode     | Invoice reference             | Used as the default settlement reference for payment to your settlement account. |
| amount       | Open amount of the invoice    |                                                                                  |
| billnum      | Invoice number of the invoice |                                                                                  |
| person       | Consumer debtor’s name        | Use the company field for a company debtor.                                      |
| address      | Debtor’s street address       |                                                                                  |
| postcode     | Debtor’s post code            |                                                                                  |
| city         | Debtor’s postal town          |                                                                                  |
| customertype | Customer type                 | 2 = person, 1 = company                                                          |
| billdate     | Invoice date                  | `YYYY-MM-DD`                                                                     |
| paydate      | Due date                      | `YYYY-MM-DD`                                                                     |

### Example

```json
{
    "datastream": {
        "dataset": [
            {
                "jobtype": "1",
                "billcode": "4349",
                "amount": "55.32",
                "billnum": "1000",
                "person": "Nelli Niirulainen",
                "address": "Kellokoskenkatu 15 A 3",
                "postcode": "70100",
                "city": "KUOPIO",
                "customertype": "2",
                "billdate": "2017-01-01",
                "paydate": "2017-01-14"
            }
        ]
    }
}
```

## POST /jobs

> Add bills

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"post":{"tags":["jobs"],"summary":"Add bills","operationId":"JobAddJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Content type","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Job","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"},"429":{"description":"Too many requests - Too many concurrent requests for this customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}}}}}}}
```


# Debt Collection

This page explains how to create a debt collection with basic data into Ropo One service.

If the debtor does not pay despite receiving the payment reminder, the claim can be\
transferred for debt collection through the Ropo One™ interface.

Send each debt collection task into Ropo One™ only once! If you have previously sent\
the claim as an invoice or as a reminder, please note that Ropo will automatically send\
the debt collection letter and you will not be required to do any further procedures.

## Minimum data

Minimum level information in the dataset of the invoice, required for posting it as a debt collection in Ropo One.

### Fields

| Key          | Value                         | Notes                                                                            |
| ------------ | ----------------------------- | -------------------------------------------------------------------------------- |
| jobtype      | Type of the job               | 2 = debt collection                                                              |
| noticedate   | Notice date of the invoice    | Invoice's notice date                                                            |
| billcode     | Invoice reference             | Used as the default settlement reference for payment to your settlement account. |
| amount       | Open amount of the invoice    |                                                                                  |
| billnum      | Invoice number of the invoice |                                                                                  |
| person       | Consumer debtor’s name        | Use the company field for a company debtor.                                      |
| address      | Debtor’s street address       |                                                                                  |
| postcode     | Debtor’s post code            |                                                                                  |
| city         | Debtor’s postal town          |                                                                                  |
| customertype | Customer type                 | 2 = person, 1 = company                                                          |
| billdate     | Invoice date of the invoice   | Invoice’s due date                                                               |

### Example

```json
{
    "datastream": {
        "dataset": [
            {
                "jobtype": "2",
                "noticedate": "2017-02-01",
                "billnum": "1000",
                "billcode": "4349",
                "person": "Nelli Niirulainen",
                "address": "Kellokoskenkatu 15 A 3",
                "postcode": "70100",
                "city": "KUOPIO",
                "customertype": "2",
                "billdate": "2017-01-01",
                "paydate": "2017-01-14",
                "amount": "55.32",
            }
        ]
    }
}
```

## POST /jobs

> Add bills

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"post":{"tags":["jobs"],"summary":"Add bills","operationId":"JobAddJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Content type","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Job","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"},"429":{"description":"Too many requests - Too many concurrent requests for this customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}}}}}}}
```


# Credit note allocation

Invoices sent to the interface cannot be canceled or changed. If there is an error in the&#x20;invoice or if the invoice is to be canceled, a counterparty credit note will be sent to the&#x20;interface that will partially or completely cancel the original invoice.

\
The credit note is like the normal invoice, but on invoice rows the amounts are&#x20;presented negative and a refund jobid or refundtobillnum tag is added to the invoice,&#x20;indicating the initial invoice item or bill number to which the refund applies. If the credit&#x20;balance does not previously apply to the invoice sent to the Ropo One™, leave the&#x20;refund jobid and the refund without a billnum tag: you can always place a credit note&#x20;later in Ropo One™ if necessary. <br>

Please note! If you are using payrows netamount, vatamount and totalamount they\
have to be presented in negative.

An example, sending and ordinary invoice:&#x20;

<pre class="language-json"><code class="lang-json">JSON:
{
    "datastream": {
        "dataset": [
            {
                "jobtype": "0",
                "person": "Nelli Niirulainen",
                "address": "Kellokoskenkatu 15 A 3",
                "postcode": "70100",
                "city": "KUOPIO",
                "customertype": "2",
                "billdate": "2017-03-04",
                "paydate": "2017-03-18",
                "payrow": [
                    {
                        "desc": "Siivous",
                        "count": "1",
                        "itemtype": "h",
                        "amount": "100",
                        "taxpr": "23"
                    }
<strong>                ]
</strong>            }
        ]
    }
}
</code></pre>

And then crediting the invoice:

<pre class="language-json"><code class="lang-json">JSON:
{
    "datastream": {
        "dataset": [
            {
<strong>                "jobtype": "0",
</strong>                "refundtojobid": "549220",
                "person": "Nelli Niirulainen",
                "address": "Kellokoskenkatu 15 A 3",
                "postcode": "70100",
                "city": "KUOPIO",
                "customertype": "2",
                "billdate": "2017-03-04",
                "paydate": "2017-03-18",
                "payrow": [
                    {
                        "desc": "Siivous",
                        "count": "-1",
                        "itemtype": "h",
                        "amount": "100",
                        "taxpr": "23"
                    }
                ]
            }
        ]
<strong>    }
</strong>}
</code></pre>

The previous example credits the original invoice in full. If the invoice is only partially&#x20;credited, credits note’s invoice rows may be changed accordingly. For example, a 50%&#x20;credit can be achieved with a discount tag:

<pre class="language-json"><code class="lang-json">JSON:
<strong>"payrow": [
</strong>    {
        "desc": "Siivous",
        "count": "-1",
        "itemtype": "h",
        "amount": "100",
        "discount": "50",
        "taxpr": "23"
    }
]
</code></pre>

In credit invoices you can remove invoice rows or change the number of products&#x20;(pieces) as needed. Note, however, that no new products can be added to the credit&#x20;note: if the debtor has been sold after the original invoice has been sent, these must&#x20;be invoiced by a separate invoice!

## POST /jobs/creditnote

> Add credit note to existing job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobAddCreditNote":{"title":"JobAddCreditNote","description":"JobAddCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"date":{"description":"Date","type":"string"},"type":{"description":"Credit note type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of credit note","type":"string"}},"type":"object"},"JobAddCreditNoteResponse":{"title":"JobAddCreditNoteResponse","description":"JobAddCreditNoteResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"date":{"description":"Date of credit note","type":"string"},"amount":{"description":"Amount of credit note","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 8 : IGNORE, 10 : NOT FOUND, 11 : CANCELLED, 12 = OLD CANCEL.","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}},"paths":{"/jobs/creditnote":{"post":{"tags":["jobs"],"summary":"Add credit note to existing job","operationId":"JobAddCreditNoteJobAction","requestBody":{"description":"JobAddCreditNote","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNote"}}}},"responses":{"201":{"description":"Credit note response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNoteResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNoteResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Payment

Register a payment for an existing invoice.

Use this when the debtor paid outside Ropo’s settlement flow.

This is typical when the debtor pays to your own account.

{% hint style="warning" %}
Registering a payment can close or update the invoice state. Make sure you don’t double-register the same payment.
{% endhint %}

### Prerequisites

The invoice must already exist in Ropo One.

You must reference the invoice using one of these identifiers:

* `billcode` (preferred)
* `jobid`
* `billnum`

Send only one identifier when possible.

If you send multiple identifiers, Ropo uses this lookup order:

1. `billcode`
2. `jobid`
3. `billnum`

### Required fields

* `paydate` (format: `YYYY-MM-DD`)
* `amount`

### Optional fields

These fields are use case specific:

* `identifier`
* `type` (example: `directpayment`)
* `creditnotebillnum`
* `description`

### Example

```json
{
  "amount": "710.00",
  "billcode": "1234567",
  "billnum": "R1234567",
  "paydate": "2017-10-10",
  "identifier": "insurance",
  "type": "directpayment",
  "creditnotebillnum": "26251",
  "description": "Payment received to the client bank account"
}
```

## POST /jobs/payment

> Add payment to existing job.

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobAddPayment":{"title":"JobAddPayment","description":"JobAddPayment","required":["amount","paydate"],"properties":{"amount":{"description":"Amount of payment","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"paydate":{"description":"Date of payment","type":"string"},"identifier":{"description":"Payment targeting identifier","type":"string"},"type":{"description":"Payment type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of payment","type":"string"}},"type":"object"},"JobAddPaymentResponse":{"title":"JobAddPaymentResponse","description":"JobAddPaymentResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"amount":{"description":"Amount of payment","type":"number"},"capitalbefore":{"description":"Open capital before payment","type":"number"},"capitalafter":{"description":"Open capital after payment","type":"number"},"focusedtocapital":{"description":"Amount focused to opencapital","type":"number"},"interestbefore":{"description":"Amount before to interest","type":"number"},"interestafter":{"description":"Amount after to interest","type":"number"},"focusedtointerest":{"description":"Amount focused to interest","type":"number"},"noticefeebefore":{"description":"Amount after to customer notice fee","type":"number"},"noticefeeafter":{"description":"Amount before to customer notice fee","type":"number"},"focusedtonoticefee":{"description":"Amount focused to customer notice fee","type":"number"},"unfocused":{"description":"Unfocused amount","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 3 : ROPO, 4 : ROPO Refund, 5 : CLOSE, 6 : OHISPAY, 8 : IGNORE, 9 : DIFFCID, 10 : NOT FOUND, 11 : CANCELLED. Only with value 6 Http-Responsecode is 201 other 400","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}},"paths":{"/jobs/payment":{"post":{"tags":["jobs"],"summary":"Add payment to existing job.","operationId":"JobAddPaymentJobAction","requestBody":{"description":"JobAddPayment","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPayment"}}}},"responses":{"201":{"description":"Payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPaymentResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPaymentResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Other documents

Send PDF letters to Ropo using a JSON index file.

Send letters to Ropo as **PDF + index JSON**.

Use this for customer letters, contracts, reports, and similar documents.

### Prerequisites

You need:

* `cid` + `apicode`
* a JWT token in `Authorization: Bearer <token>`

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/UeD0Tz9SXbcZbDK3mwrM" %}
[Authentication](/guides/basics/authentication)
{% endcontent-ref %}

### Delivery options

You have two common ways to deliver the PDF.

#### Option A: HTTPS with embedded PDF (base64)

Put the base64-encoded PDF content in:

* `image.file`

Use this when your payload format supports embedded files.

#### Option B: Deliver the PDF as a separate file (ZIP)

Deliver the PDF file(s) and the index file in the **same ZIP package**.

Use this when:

* you cannot embed base64 in JSON
* the PDFs are large
* you want to upload file + data together

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/klm9CwJA4jxopbWrc7DG" %}
[Data transfer limits and ZIP uploads](/guides/basics/data-transfer-limits-and-zip-uploads)
{% endcontent-ref %}

{% hint style="info" %}
If you use SFTP delivery, the PDF and index must still be in the same ZIP package.
{% endhint %}

### Minimum letter payload

Send one item in `datastream.dataset[]`.

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "301",
        "sendtype": "post",
        "customertype": "2",
        "person": "Nelli Niirulainen",
        "address": "Kellokoskenkatu 15 A 3",
        "postcode": "70100",
        "city": "KUOPIO",
        "addresscountry": "FIN",
        "countryname": "Finland",
        "propertyrow": [
          {
            "propname": "documenttype",
            "propvalue": "customerletter"
          }
        ],
        "image": {
          "filename": "letter.pdf",
          "file": "<base64-pdf>"
        }
      }
    ]
  }
}
```

{% content-ref url="/spaces/KkTif7atlGfljOVjHocp/pages/eLnfqMBfKPVmFRo55fm6" %}
[Cover page](/guides/basics/invoice/cover-page)
{% endcontent-ref %}

### Field reference

Fields live inside each `datastream.dataset[]` item.

#### Core fields

* `jobtype` (string, required)
  * Letter type in Ropo production.
  * For “other letter”, use `"301"`.
* `language` (string, optional)
  * Example: `"fin"`.
* `sendtype` (string, required)
  * Delivery channel.
  * Supported values:
    * `post` (printed and mailed)
    * `email`
* `customertype` (string, required)
  * `"1"` = company
  * `"2"` = consumer
* `person` (string, required if `customertype` is `"2"`)
  * Consumer recipient name.
* `company` (string, required if `customertype` is `"1"`)
  * Company recipient name.

#### Address fields

* `address` (string, required)
* `postcode` (string, required)
* `city` (string, required)
* `addresscountry` (string, required)
  * 3-letter country code (ISO 3166-1 alpha-3).
  * Example: `"FIN"`.
* `countryname` (string, required)
  * Long country name.
  * Example: `"Finland"`.

#### Email and phone

* `email` (string, required if `sendtype` is `"email"`)
* `phone` (string, optional)
  * Example: `"+35912345678"`.

#### Identifiers and dates

* `custnum` (string, optional)
  * Your customer number.
* `deliverydate` (string, optional)
  * Format: `YYYY-MM-DD`.

#### Contracts

* `contract[]` (array, optional)
  * Items contain:
    * `contract_no` (string)

#### PDF attachment (`image`)

* `image.filename` (string)
  * PDF filename.
  * Required when the PDF is delivered as a separate file with the index.
* `image.file` (string)
  * Base64-encoded PDF.
  * Optional.
  * Use this for HTTPS embedded file delivery.

#### Usage place (optional)

* `usageplaces[]` (array, optional)
  * Items can contain:
    * `address` (object)
      * `address` (string)
      * `city` (string)
      * `addresscountry` (string)
      * `postcode` (string)
      * `sitecode` (string)
    * `energycontract[]` (array)
      * `contract_no` (string)

#### Properties (`propertyrow`)

* `propertyrow[]` (array, required)
  * Use this to send the document type.
  * Each item contains:
    * `propname` (string, required)
    * `propvalue` (string, required)

### Supported `documenttype` values

Add one `propertyrow` item:

```json
{
  "propname": "documenttype",
  "propvalue": "contract"
}
```

Supported `propvalue` values:

* `invoice` (Lasku)
* `payslip` (Palkka)
* `customerletter` (Asiakaskirje)
* `questionnaire` (Kysely)
* `report` (Raportti)
* `contract` (Sopimus)
* `test` (Testi)
* `electricityinvoice` (Sähkölasku)
* `reminder` (Maksukehotus)
* `districtheatinginvoice` (Lämpölasku)
* `readingcard` (Lukemakortti)
* `adInvoice` (Ilmoituslasku)
* `interestinvoice` (Korkolasku)
* `rentinvoice` (Vuokralasku)
* `waterinvoice` (Vesilasku)
* `subscriptioninvoice` (Tilauslasku)
* `order` (Tilaus)
* `circulationinvoice` (Levikkilasku)

### Full JSON example

```json
{
  "datastream": {
    "dataset": [
      {
        "jobtype": "301",
        "language": "fin",
        "person": "Nelli Niirulainen",
        "sendtype": "email",
        "company": "Yritys Oy",
        "address": "Kellokoskenkatu 15 A 3",
        "postcode": "70100",
        "city": "KUOPIO",
        "addresscountry": "FIN",
        "countryname": "Finland",
        "email": "matti.meikalainen@mail.fi",
        "phone": "+35912345678",
        "customertype": "2",
        "contract": [
          {
            "contract_no": "EN12345678"
          }
        ],
        "image": {
          "filename": "filename.pdf",
          "file": "AFSAFAFSAF"
        },
        "usageplaces": [
          {
            "address": {
              "address": "Kuninkaankatu 15",
              "city": "KUOPIO",
              "addresscountry": "FIN",
              "postcode": "70100",
              "sitecode": "123456"
            },
            "energycontract": [
              {
                "contract_no": "123456"
              }
            ]
          }
        ],
        "deliverydate": "2017-03-03",
        "custnum": "1234RR5",
        "propertyrow": [
          {
            "propname": "documenttype",
            "propvalue": "contract"
          }
        ]
      }
    ]
  }
}
```

### Migration notes (V1 → V2)

If you still have a V1 payload, these fields were renamed in V2:

* `deliverymethod` → `sendtype`
* `countrycode` → `addresscountry`
* `country` → `countryname`
* `emailaddress` → `email`
* `phonenumber` → `phone`
* `filename` → `image.filename`
* `contractnumber` → `usageplaces.energycontract.contract_no`
* `customernumber` → `custnum`
* `deliverysite.id` → `usageplaces.address.sitecode`
* `deliverysite.address` → `usageplaces.address.address`


# Status Notifications (events)

Receive real-time status events from Ropo One into your system.

Use this when you need push-based updates. Use [Status Updates](/guides/general-add-ons/status-updates-polling) when you prefer polling.

* note that polling service doesn't include as wide variety of different actions as status notification service does

Please note:

* Ropo may add new fields to the messages described in this document without\
  separately announcing them.
* Changes which affects to current field content or naming or any other thing that breaks\
  backward compatibility are announced as an own change process and are not\
  implemented in production until users have had enough time to react.

### What you receive

Ropo One sends HTTP `POST` requests to your endpoint. Each request contains one event batch.

One batch can include multiple message types. One batch contains max **500** messages.

### Setup checklist

{% stepper %}
{% step %}

### Expose a webhook endpoint

Accept `POST` requests over HTTPS. Parse JSON.

Make the handler idempotent. Use `id` to dedupe.
{% endstep %}

{% step %}

### Choose authentication

Pick either OAuth2 client credentials or Basic Auth. Share the needed details with Ropo.
{% endstep %}

{% step %}

### Return the right HTTP status codes

Return `2xx` when you have stored the events. Return `4xx` for permanent validation errors. Return `5xx` for transient errors.
{% endstep %}
{% endstepper %}

### Authentication

{% tabs %}
{% tab title="OAuth2 (client\_secret\_post)" %}
Ropo fetches an access token from **your** token endpoint. Ropo then uses it as a Bearer token for webhook delivery.

Share these values with Ropo:

* Token URL
* Client ID
* Client secret
* Webhook service endpoint (your receiver URL)
* Scope (if your token endpoint requires it)

Token request (from Ropo to you):

```http
POST <token-url>
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&scope=<scope>&client_id=<client-id>&client_secret=<client-secret>
```

Expected token response (from you to Ropo):

```json
{
  "token_type": "Bearer",
  "access_token": "<token>",
  "expires_in": 3600
}
```

{% endtab %}

{% tab title="Basic Auth" %}
Ropo uses HTTP Basic Auth for webhook delivery.

Share these values with Ropo:

* User ID
* Password
* Webhook service endpoint (your receiver URL)
  {% endtab %}
  {% endtabs %}

### Envelope format

Every webhook payload uses the same envelope:

* `created_at` (string): message creation time in ISO-8601 format.
* `id` (string): unique message/batch id.
* `data` (object): one or more arrays by message type.

`data` can contain any combination of these arrays:

* `delivery`
* `lcstatus`
* `payment`
* `contract`
* `creditnote`
* `creditloss`
* `duedateupdate`
* `disconnect`
* `reconnect`
* `telecomdisconnect`
* `telecomreconnect`

{% hint style="info" %}
Ropo may add new fields without separate notice. Ignore unknown fields to stay forward-compatible.
{% endhint %}

### Common identification rules

Most message types identify the case using **either**:

* `invoicenumber`
* `documentid` (your additional identifier for the document in addition to invoice number)
* `jobid` (Ropo One internal identifier)

Some messages all three. Don’t assume `documentid` is always present.

`cid` is the Ropo One profile id. It is mandatory in all message types.

### Message types

<details>

<summary>Sample payloads</summary>

Examples are trimmed for readability. Expect more fields in production.

Single message type (delivery):

```json
{
  "created_at": "2022-05-10T11:36:00+00:00",
  "id": "a0a348f7-764f-40f8-9fc0-d1b76012ca47",
  "data": {
    "delivery": [
      {
        "jobid": 123637,
        "cid": 987654,
        "distributionchannel": "b2b",
        "documentid": "2728282",
        "invoicenumber": "38938",
        "status": "received",
        "statustime": "2022-05-10 11:12:36",
        "description": "document received with notes.",
        "notes": [{ "note": "Check postal address." }]
      }
    ]
  }
}
```

Batch with multiple message types:

```json
{
  "created_at": "2023-11-03T12:10:28+02:00",
  "id": "bfe59147-96be-47e0-a288-fe4ff8b70fef",
  "data": {
    "delivery": [{ "jobid": 123637, "cid": 987654, "status": "delivered", "statustime": "2022-05-10 12:36:00" }],
    "lcstatus": [{ "code": 2, "cid": 987654, "jobid": 23231, "time": "2022-05-10 10:27:41" }],
    "payment": [{ "cid": 987654, "jobid": 423145, "time": "2025-09-26 18:27:41", "amount": 50.0 }]
  }
}
```

</details>

#### Delivery status (`data.delivery[]`)

Tells you how document delivery progressed.

Fields you’ll use most:

* `status`: `received` | `rejected` | `delivered` | `error`
* `statustime`: when the status changed
* `distributionchannel`:
  * Finland `post` | `b2b` | `peppol` | `email` | `b2c` | `kivra` | `omaposti`
  * Sweden `post` | `b2b` | `peppol` | `email` | `b2c` | `kivra`
  * Norway `post` | `b2b` | `peppol` | `email` | `b2c` | `digipost`
* `description`: extra details
* `notes[]`: optional notes (received use case)
* `errors[]`: optional errors (rejected/error use cases)

<details>

<summary>Delivery status values</summary>

* `received`: document received by Ropo One
* `rejected`: rejected on import. Check `description` and `errors[]`
* `delivered`: delivered to recipient / next party
* `error`: delivery failed. Check `description` and `errors[]`

</details>

#### Lifecycle status (`data.lcstatus[]`)

Tells you when a case moved to a new lifecycle phase.

Fields you’ll use most:

* `code`: lifecycle code
* `status`: lifecycle text (often English)
* `time`: when the status change happened
* `paydate`: original due date
* `currentpaydate`: current due date
* `opencapital`, `interest`, `expenses`: open amounts by type (optional)

<details>

<summary>Lifecycle status codes</summary>

Most commonly used status codes:

```
0   Invoicing
1   Reminder
2   Debt collection
11  Draft
16  Legal collection consideration
17  Post-collection
63  Writ of summons sent to district court
101 Paid
102 Job terminated
```

Full list of possible status codes

* This list can grow. Store the numeric `code` and treat `status` as informational.

```
0   Invoicing
1   Reminder
2   Debt collection
6   Debt rescheduling
11  Draft
12  Query – protesting
14  Protested
15  Bankruptcy threat payment notification
16  Legal collection consideration
17  Post-collection
41  Payment plan
55  International legal collection consideration
61  Query – legal collection
63  Writ of summons sent to district court
65  Waiting transfer to enforcement
67  Query – distraint
68  Waiting – estate inventory deed
71  Error – address details
80  Disputed
81  Under review
85  Ropo Legal handling case
86  Query – client's response
89  Address verification
98  Message
101 Paid
102 Job terminated
103 Credit loss
104 Credit invoice
108 Invoice purchasing – sold
110 Under restructuring proceedings
111 Under bankruptcy proceedings
112 In enforcement
121 In international collection
150 Cut-off warning
200 Query – payment reminder
202 Query – identification information
203 Payment plan not followed
208 Regression
211 Query – draft
214 Query – debt collection
300 Invoice (operating)
301 Document (operating)
401 Waiting – funding
402 Invoicing – funding
```

</details>

#### Payment (`data.payment[]`)

Tells you about payments received and booked in Ropo One.

Key points:

* `paydate` is deprecated.
* Use `paymentdate`, `accountdate`, and `settlementdate` for booking clarity.
  * `paymentdate` = Day when payment was made.
  * `accountdate` = Day when payment was booked to account
  * `settlementdate` = Day when payment was paid out from Ropo
* `openamount` includes capital + client expenses + interest.
* `amountbreakdown` and `openamountbreakdown` includes detailed view what receivable types were paid and are still open.

#### Contract (`data.contract[]`)

Tells you about contract data changes, when contract updates are part of the agreed lifecycle.

Key fields:

* `contract_no` (mandatory)
* `contractstatus` (mandatory, example: `active`)
* `termination_date` and `terminationterm` may be present if termination is calculated

#### Credit note (`data.creditnote[]`)

Tells you when a credit note is:

* `allocated` to a debit invoice
* `unallocated` (allocation removed)
* `refunded` to the end customer

Notes:

* Allocation/unallocation may reference invoices via bill numbers and/or job IDs.
* Credit notes allocated based on allocation info received from the client are **not** reported.

#### Credit loss (`data.creditloss[]`)

Tells you about credit loss related actions.

{% hint style="info" %}
Ropo One supports two credit loss handling models. Contact Ropo to confirm which model your integration uses.

Time-based credit loss handling uses `data.creditloss[]`. Legacy status-based credit loss handling uses the [Lifecycle status](#lifecycle-status-datalcstatus) event type.
{% endhint %}

Key fields:

* `type`
  * `suspected`: suspected bad receivable before actual credit loss. Used only in Sweden.
  * `creditloss`: receivable has become bad debt.
  * `change`: bad debt receivable changed, for example after a payment.
* `amountbreakdown`: amounts related to the credit loss action
* `reason`: reason for the credit loss
  * `OTHER`
  * `DECEASED`
  * `INDIGENT`
  * `UNKNOWN`
  * `RESTRUCTURING`
  * `DEBT_RESCHEDULING`
  * `BANKRUPTCY`
  * `SMALL_RECEIVABLE`
  * `NOCHANGE`
  * `DISPUTING`
  * `DISPUTED`
  * `TIMEBASED`

#### Due date update (`data.duedateupdate[]`)

Sent when due date changes in Ropo One.

Important fields:

* `currentpaydate`: the new due date
* `source`: why/how the update happened
* `contract[]`: optional list of contract numbers (can be 1..n)

<details>

<summary>Due date update source values</summary>

* `restapi`: updated from an external source via Ropo REST API
* `online`: updated by end customer in Ropo online service
* `aspa_end_customer_request`: updated by Ropo customer service on end customer request
* `aspa_other_reason`: updated by Ropo customer service for other reasons
* `einvoice_error`: updated after e-invoice negative ack, then fixed and resent

</details>

#### Disconnect / reconnect (`data.disconnect[]`, `data.reconnect[]`)

Sent when a process recognizes a disconnect/reconnect action is needed.

Both contain:

* `usageplacecode` (mandatory)
* `contract_no` (mandatory)
* `invoices[]` with invoice identifiers (`jobid`, `invoicenumber`, optional `documentid`)

Disconnect may include `disconnectiondate`.

#### Telecom disconnect / reconnect (`data.telecom_disconnect[]`, `data.telecom_reconnect[]`)

Sent when a process recognizes a Telecom disconnect/reconnect action is needed.

Relevant fields:

* `customernumber`: points to the end customer whose telecom subscriptions should be disconnected or reconnected
* `time`: timestamp when it was recognized that the subscription should be disconnected or reconnected

### Error response body (optional)

You can return a problem details body with non-2xx responses. RFC 7807 is recommended.

```json
{
  "type": "https://example.com/problems/invalid-payload",
  "title": "Invalid payload",
  "status": 400,
  "detail": "Missing required field: data.delivery[0].cid"
}
```

### Webhook definition (OpenAPI)

{% openapi-webhook spec="ropo-one" name="Status notification service" method="post" %}
[ropo-one](https://rc.ropo24.fi/swagger/swagger-public.json)
{% endopenapi-webhook %}


# Status Updates (polling)

Retrieve invoice status changes from the Ropo One platform.

Use this for lifecycle tracking and reconciliation.

NOTE, this service is parallel with [Status Notification (events) Service](/guides/general-add-ons/status-notifications-events). Recommendation is to use events service where Ropo acts as active party when status changes occurs.&#x20;

### How to query

* Recommended: call the endpoint without optional parameters.
  * You get all unrecorded status changes.&#x20;
    * Each request returns maximum of 1000 status changes.
    * to get all status changes keep polling until service returns http status code 204
* Optional: use **one** filter parameter:
  * Use parameters only if needed to update statuses for single day or single invoice. For continuous polling use service without parameters
    * `date`: returns changes for that date (`YYYY-MM-DD`).
    * `billnum`: returns changes for one invoice.
      * Use this only for single-invoice checks.

<details>

<summary>Legacy notes</summary>

If only mandatory parameters are sent, the interface returns all unrecorded state changes, this is the recommended way to use the interface. Only one of the optional parameters can be sent.

Parameter: date The interface returns the status changes for that day Date format: YYY-MM-DD

Parameter: billnum The interface returns the status changes for that invoice number. This parameter is not recommended to use for mass queries

This should be used only for single request only. For multiple invoice updates and querys it is recommended to use the interface with out parameters or with date parameter.

</details>

## GET /jobs/statusupdates

> Get jobs status update information

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobsStatusUpdatesResult":{"title":"JobsStatusUpdatesResult","description":"JobsStatusUpdatesResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesStatus"}},"type":"object"},"JobsStatusUpdatesStatus":{"title":"JobsStatusUpdatesStatus","description":"JobsStatusUpdatesStatus","properties":{"status":{"type":"array","items":{"$ref":"#/components/schemas/JobsStatusUpdatesStatusRecord"}}},"type":"object"},"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"},"JobsStatusUpdatesCommonErrorResult":{"title":"JobsStatusUpdatesCommonErrorResult","description":"JobsStatusUpdatesCommonErrorResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonError","description":"object."}},"type":"object"},"JobsStatusUpdatesCommonError":{"title":"JobsStatusUpdatesCommonError","description":"JobsStatusUpdatesCommonError","properties":{"commonerror":{"description":"Descriptive string of an error.","type":"string"}},"type":"object"}}},"paths":{"/jobs/statusupdates":{"get":{"tags":["jobs"],"summary":"Get jobs status update information","operationId":"JobsGetStatusUpdatesAction","parameters":[{"name":"date","in":"query","description":"Date (YYYY-MM-DD) to define to get all status update of given day.","required":false,"schema":{"type":"string"}},{"name":"billnum","in":"query","description":"Invoice number. Response will contain all status updates for the invoice.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesResult"}}}},"204":{"description":"No Content, No status updates to return"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonErrorResult"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Get PDF

Fetch an archived PDF document.

Use this when you need the stored PDF for an already processed document.

Use [Preview of invoice](/guides/general-add-ons/preview-of-invoice) to generate a preview before delivery.

Use [Local print of invoice](/guides/general-add-ons/local-print-of-invoice) when you want to generate a PDF for local printing.

### Prerequisites

The document must already exist in Ropo One.

You must identify the document using **at least one** of these parameters:

* `contractnum`
* `billnum`
* `jobid`

{% hint style="warning" %}
If you send multiple identifiers, make sure they all point to the same document.
{% endhint %}

### Example

```http
GET /jobs/pdf?billnum=<invoice-number>
Accept: application/pdf
```

## GET /jobs/pdf

> Get bill in pdf-format

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/pdf":{"get":{"tags":["jobs"],"summary":"Get bill in pdf-format","operationId":"JobsGetPdfAction","parameters":[{"name":"jobid","in":"query","description":"Id of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"integer"}},{"name":"billnum","in":"query","description":"Billnum of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"string"}},{"name":"contractnum","in":"query","description":"Contractnum of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"string"}},{"name":"documentdate","in":"query","description":"Document date of the job [also contractnum or billnum is required]","required":false,"schema":{"type":"string"}},{"name":"origdata","in":"query","description":"0 = current, 1 = original[default]","required":false,"schema":{"type":"integer"}},{"name":"documenttype","in":"query","description":"Documenttype for Joisto archive.","required":false,"schema":{"type":"string"}},{"name":"joistocolumn","in":"query","description":"Column name in Joisto archive (JobId, Laskunumero, Laskunro)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns PDF","content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```


# Preview of invoice

Generate an invoice preview to verify the layout before delivery.

## POST /jobs/preview

> Preview of the invoice

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/preview":{"post":{"tags":["jobs"],"summary":"Preview of the invoice","operationId":"JobPreviewJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Data sent. Can be JSON defined by the Job Model, but also mutually agreed custom data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Returns PDF","headers":{"pdfname":{"description":"pdf filename","schema":{"type":"string"}}},"content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Local print of invoice

Request a PDF for local printing.

Use this when you want to send the invoice yourself, or hand it to the debtor in a service situation.

The invoice is generated with the configured layout.

It also triggers payment monitoring for the invoice.

## POST /jobs/localprint

> Print locally the invoice

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/localprint":{"post":{"tags":["jobs"],"summary":"Print locally the invoice","operationId":"JobLocalprintJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Data sent. Can be JSON defined by the Job Model, but also mutually agreed custom data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Returns PDF","headers":{"pdfname":{"description":"pdf filename","schema":{"type":"string"}}},"content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# MyRopoLink

This guide explains how to fetch a url-link that can be embedded for example in your online portal or mobile application to give end-customer access to sent invoice.&#x20;

MyRopo link is fetched with invoice number parameter and the link gives direct access to see only this invoice in MyRopo.&#x20;

MyRopo Designer is always included to MyRopoLink service. With MyRopo Designer tool,  you can easily customize MyRopo invoice page to meet your branding standards with logos, banners and additional company info.

Steps:

1. Get a MyRopo invoice page URL for a single invoice.
2. Embed the URL in your portal or mobile app.
3. The debtor lands directly on that invoice.

### Parameters

* `billnum` (required): invoice number.

## GET /online/onlinelink

> Online link to MyRopo Job page

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"onlinelink","description":"Online link to MyRopo Job page"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"OnlineLinkResponse":{"title":"OnlineLinkResponse","description":"OnlineLinkResponse","properties":{"url":{"type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/online/onlinelink":{"get":{"tags":["onlinelink"],"summary":"Online link to MyRopo Job page","operationId":"sendOnlineLinkToJobAction","parameters":[{"name":"billnum","in":"query","description":"Billnumber of the job","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlineLinkResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# PayLink

This guide explains how to fetch a url-link that can be embedded for example in your online portal or mobile application to give user a possibility to pay the invoice directly from your application.&#x20;

Paylink is fetched with invoice number parameter and the link gives direct access to payment process without MyRopo service in between.&#x20;

Steps:

1. Get a Paylink URL for a single invoice.
2. Embed the URL in your portal or mobile app.
3. The debtor can start the payment process by clicking the link.

### Parameters

* `billnum` (required): invoice number.
* `callback_url` (required): After the payment, user is redirected to this URL in your application

## GET /online/paylink

> Get online payment link for a job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"paylink","description":"Paylink for online payments"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"PaylinkResponse":{"title":"PaylinkResponse","description":"PaylinkResponse","properties":{"url":{"type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/online/paylink":{"get":{"tags":["paylink"],"summary":"Get online payment link for a job","operationId":"getOnlinePayLinkAction","parameters":[{"name":"billnum","in":"query","description":"Invoice number","required":true,"schema":{"type":"string"}},{"name":"callback_url","in":"query","description":"Callback URL to receive payment status updates","required":true,"schema":{"type":"string"}},{"name":"service","in":"query","description":"Payment service to use, e.g. 'tink', 'bank', etc.","required":false,"schema":{"type":"string"}},{"name":"language","in":"query","description":"Language for the payment link, defaults to system language","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaylinkResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Onboarding

Create a new customer profile in Ropo One via the REST API.

### Prerequisites

* You have an API token. See [Authentication](/guides/basics/authentication).
* Your contract enables `create_customer_api`.

### Create a customer profile

Send a `POST` request with the customer payload.

When creating a new profile through the Ropo One REST API, **only two data fields are mandatory**

* **customer\_info.business\_id**
* **contact\_person.email**

With these two data fields, Ropo One can initiate the **onboarding process**. In this process:

1\.     An **onboarding link** is sent to the contact person’s email address.

2\.     When the link is opened, the user is guided to an **onboarding wizard**, where all remaining required information is collected.

Ropo One requires several mandatory data fields to create a new profile and the first admin user for that profile. If all required fields are provided through the REST API, the onboarding process is skipped entirely.

## Create a new Ropo one Profile

> Creates a new Ropo One profile if the contract 'create\_customer\_api' is active for the authenticated user.

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"profile","description":"Customer profile"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreateProfileRequest":{"title":"CreateProfileRequest","description":"Profile creation payload","properties":{"allowIncompleteData":{"description":"Whether incomplete data is allowed. When true and required fields are missing, the profile is stored for later completion instead of created.","type":["boolean","null"]},"customer_info":{"$ref":"#/components/schemas/CreateProfileCustomerInfo","description":"Customer (company) information"},"customer_service_contact":{"$ref":"#/components/schemas/CreateCustomerServiceContact","description":"Customer service contact information"},"contact_person":{"$ref":"#/components/schemas/CreateCustomerContactPerson","description":"Contact person"},"agreement_acceptor":{"$ref":"#/components/schemas/CreateCustomerAgreementAcceptor","description":"Agreement acceptor"},"money_laundering_acceptor":{"$ref":"#/components/schemas/CreateCustomerMoneyLaunderingAcceptor","description":"Money laundering acceptor"},"services":{"$ref":"#/components/schemas/CreateProfileServices","description":"Services information"},"settlement_settings":{"$ref":"#/components/schemas/CreateCustomerSettlementSettings","description":"Settlement settings"},"ropo_service_fees":{"$ref":"#/components/schemas/CreateProfileRopoServiceFees","description":"Ropo service fees"},"additional_information":{"$ref":"#/components/schemas/CreateCustomerAdditionalInformation","description":"Additional information"},"users":{"description":"Users","type":["array","null"],"items":{"$ref":"#/components/schemas/CreateCustomerUser"}}},"type":"object"},"CreateProfileCustomerInfo":{"title":"CreateProfileCustomerInfo","description":"Customer (company) information","properties":{"business_id":{"description":"Business ID / Personal identification number","type":["string","null"]},"name":{"description":"Name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"language":{"description":"Language","type":["string","null"]},"liable_to_pay_vat":{"description":"Is the customer liable to pay VAT","type":["boolean","null"]},"vat_number":{"description":"VAT number","type":["string","null"]},"customer_company_type":{"description":"Customer type","type":["integer","null"]}},"type":"object"},"CreateCustomerServiceContact":{"title":"CustomerServiceContact","properties":{"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerContactPerson":{"title":"ContactPerson","properties":{"name":{"description":"Name","type":["string","null"]},"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerAgreementAcceptor":{"title":"AgreementAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerMoneyLaunderingAcceptor":{"title":"MoneyLaunderingAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateProfileServices":{"title":"Services","properties":{"service_types":{"description":"Service types to activate","type":"array","items":{"type":"integer"}}},"type":"object"},"CreateCustomerSettlementSettings":{"title":"SettlementSettings","properties":{"bank_account_type":{"description":"Bank account type","type":["integer","null"]},"bank_account_number":{"description":"Bank account number","type":["string","null"]},"bank_account_owner":{"description":"Bank account owner","type":["string","null"]},"reference_length":{"description":"Reference length (SE & NO only)","type":["integer","null"]}},"type":"object"},"CreateProfileRopoServiceFees":{"title":"RopoServiceFees","properties":{"invoicing_method":{"description":"Invoicing method (1=post, 2=email, 3=B2B e-invoice, 4=Peppol)","type":["integer","null"]},"invoicing_email_address":{"description":"Invoicing email address","type":["string","null"]}},"type":"object"},"CreateCustomerAdditionalInformation":{"title":"AdditionalInformation","properties":{"profile_uuid":{"description":"Profile UUID","type":["string","null"]}},"type":"object"},"CreateCustomerUser":{"title":"User","properties":{"first_name":{"description":"First name","type":["string","null"]},"last_name":{"description":"Last name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"nationality":{"description":"Nationality","type":["string","null"]},"phone_number":{"description":"Phone number","type":["string","null"]},"email":{"description":"Email","type":["string","null"]},"language":{"description":"Language","type":["string","null"]}},"type":"object"},"NewCustomerResultRest":{"title":"NewCustomerResultRest","description":"NewCustomerResultRest","properties":{"customerId":{"description":"Customer ID of the newly created customer","type":["string","null"]},"message":{"description":"Message regarding the creation result","type":["string","null"]},"status":{"description":"Status of the customer creation process","type":["string","null"]}},"type":"object"},"IncompleteCustomerResult":{"title":"IncompleteCustomerResult","description":"Response object for incomplete customer creation operations","properties":{"uuid":{"description":"Unique identifier for the incomplete customer record","type":["string","null"]},"status":{"description":"HTTP status code or operation status","type":["string","null"]},"message":{"description":"Human-readable message describing the result","type":["string","null"]},"wizard_url":{"description":"Ropo One URL where to continue the onboarding process","type":["string","null"]}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/profile/createprofile":{"post":{"tags":["profile"],"summary":"Create a new Ropo one Profile","description":"Creates a new Ropo One profile if the contract 'create_customer_api' is active for the authenticated user.","operationId":"createCustomerAction","requestBody":{"description":"Profile creation payload","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProfileRequest"}}}},"responses":{"200":{"description":"Customer created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewCustomerResultRest"}}}},"201":{"description":"Incomplete customer data added successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncompleteCustomerResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HttpApiProblem"},{"$ref":"#/components/schemas/NewCustomerResultRest"}]}}}},"403":{"description":"Create customer contract not active","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```

#### All mandatory and optional dataset tags

<table data-header-hidden data-full-width="true"><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><strong>Category</strong></td><td valign="top"><strong>Tag</strong></td><td valign="top"><strong>Mandatory</strong></td><td valign="top"><strong>Example value</strong></td><td valign="top"><strong>Additional information</strong></td></tr><tr><td valign="top"><strong>customer_info</strong></td><td valign="top">business_id</td><td valign="top"><mark style="color:red;"><strong>yes</strong></mark></td><td valign="top">1234567-8</td><td valign="top"><p>Business ID</p><p>(or social security number)</p><p><em>This cannot be changed afterwards.</em></p></td></tr><tr><td valign="top"> </td><td valign="top">name</td><td valign="top">no</td><td valign="top">Test Company Ltd</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">street_address</td><td valign="top">no</td><td valign="top">Street 10 A 2</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">street_address2</td><td valign="top">no</td><td valign="top">House B</td><td valign="top">Additional street address</td></tr><tr><td valign="top"> </td><td valign="top">postal_code</td><td valign="top">no</td><td valign="top">00100</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">town_or_city</td><td valign="top">no</td><td valign="top">Helsinki</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">country</td><td valign="top">no</td><td valign="top">FIN</td><td valign="top"><p>3-char country code</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">language</td><td valign="top">no</td><td valign="top">fin</td><td valign="top"><p>fin, eng, swe, nor</p><p>if not given, default by country</p></td></tr><tr><td valign="top"> </td><td valign="top">currency</td><td valign="top">no</td><td valign="top">EUR</td><td valign="top"><p>EUR, SEK or NOK</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">liable_to_pay_vat</td><td valign="top">no</td><td valign="top">1</td><td valign="top"><p>1=yes, 2=no</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">vat_number</td><td valign="top">no</td><td valign="top">FI12345678</td><td valign="top"><p>If liable_to_pay_vat=2, then is not mandatory</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">customer_company_type</td><td valign="top">no</td><td valign="top">2</td><td valign="top"><p>Company types:</p><p> </p><p>1. Corporate and Community customer</p><p>     --> Fin: Yritys- ja yhteisöasiakas</p><p> </p><p>2. Sole Proprietor</p><p>     --> Fin: Yksityinen  </p><p>            elinkeinonharjoittaja </p><p> </p><p>3. Housing Company</p><p>     --> Fin: Asunto-osakeyhtiö</p><p> </p><p>4. Associations</p><p>     --> Fin: Yhdistykset</p><p> </p><p>5. Foundations</p><p>     --> Fin: Säätiöt</p><p> </p><p>6. Mutual Real Estate</p><p>    Companies</p><p>     --> Fin: Keskinäiset</p><p>          kiinteistöosakeyhtiöt</p><p> </p><p>7. Religious Community</p><p>     --> Fin: Uskonnollinen yhdyskunta</p><p> </p><p>8. Foreign Entities</p><p>     --> Fin: Ulkomaiset yhteisöt</p><p> </p><p>9. General/Limited Partnership</p><p>     --> Fin: Henkilöyhtiö (Ay / Ky)</p><p> </p><p>10. Public Law Entity</p><p>     --> Fin: Julkisoikeudellinen yhteisö</p><p> </p><p>If not given --> onboarding wizard <em>(Mandatory only in Finland)</em></p></td></tr><tr><td valign="top"><strong>customer_service_contact</strong></td><td valign="top">telephone</td><td valign="top">no</td><td valign="top">+35844123456</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">email</td><td valign="top">no</td><td valign="top">info@test.com</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">www</td><td valign="top">no</td><td valign="top">www.test.com</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"><strong>contact_person</strong></td><td valign="top">name</td><td valign="top">no</td><td valign="top">John Doe</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">telephone</td><td valign="top">no</td><td valign="top">+35844123456</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">email</td><td valign="top"><mark style="color:red;"><strong>yes</strong></mark></td><td valign="top">john.doe@test.com</td><td valign="top">If onboarding-wizard is needed, onboarding-email is sent to this address. Onboarding email has a link to the onboarding-wizard.</td></tr><tr><td valign="top"><strong>agreement_acceptor</strong></td><td valign="top">email</td><td valign="top">no</td><td valign="top">john.doe@test.com</td><td valign="top"><p>Email with a link is sent to this email address for accepting Ropo One service agreement. Person eligibility is checked from official register after strong authentication.</p><p>If not given when needed, contact_person email is used</p></td></tr><tr><td valign="top"><strong>money_laundering_acceptor</strong></td><td valign="top">email</td><td valign="top">no</td><td valign="top">john.doe@test.com</td><td valign="top"><p>Email with a link is sent to this email address for filling up KYC-questionnaire form. Person eligibility is checked from official register after strong authentication.</p><p><em>Mandatory only in Finland (ropo24.fi).</em></p><p>If not given when needed, contact_person email is used</p></td></tr><tr><td valign="top"><strong>services</strong></td><td valign="top">service_types</td><td valign="top">no</td><td valign="top">1</td><td valign="top"><p>0.      Printing service</p><p>1.      Invoicing service</p><p>2.      Reminder service</p><p>3.      Debt Collection service</p><p>4.      Sending e-invoices (B2B)</p><p> </p><p>If none given any --> onboarding wizard.</p><p>More services can be opened in Ropo One user interface after first login.</p></td></tr><tr><td valign="top"><strong>settlement_settings</strong></td><td valign="top">bank_account_type</td><td valign="top">no</td><td valign="top">0</td><td valign="top"><p>0= iban</p><p>1= bban</p><p>2= plusgiro</p><p>3= bankgiro</p><p> </p><p>iban,bban, plusgiro,bankgiro</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">bank_account_number</td><td valign="top">no</td><td valign="top">FI12345678987623</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">bank_account_owner</td><td valign="top">no</td><td valign="top">Test Company Ltd</td><td valign="top"><p>For banks VoP-process</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top"><em>reference_length</em></td><td valign="top"><em>no</em></td><td valign="top"><em>10</em></td><td valign="top"><em>Only in Nor &#x26; Swe</em></td></tr><tr><td valign="top"><strong>ropo_service_fees</strong></td><td valign="top">invoicing_method</td><td valign="top">no</td><td valign="top">2</td><td valign="top"><p>1= post</p><p>2= email</p><p>3= einvoice</p><p>4= peppol</p><p> </p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">invoicing_email_address</td><td valign="top">yes /no</td><td valign="top">info@test.com</td><td valign="top"><p>When method = email</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">evoice_address</td><td valign="top">yes /no</td><td valign="top">00123456789</td><td valign="top"><p>When method = einvoice or peppol</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"> </td><td valign="top">broker_id</td><td valign="top">yes /no</td><td valign="top">00371234455</td><td valign="top"><p>When method = einvoice</p><p>If not given --> onboarding wizard</p></td></tr><tr><td valign="top"><strong>additional_information</strong></td><td valign="top">profile_uuid</td><td valign="top">no</td><td valign="top">123456789</td><td valign="top">You can provide your platforms customer unique ID. This is useful, if you have a dedicated endpoint for new profile's Ropo One REST API keys.</td></tr><tr><td valign="top"><p><strong>users</strong></p><p> </p></td><td valign="top">first_name</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">last_name</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">street_address</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">postal_code</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">town_or_city</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">country</td><td valign="top">no</td><td valign="top"> FI</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"></td><td valign="top">nationality</td><td valign="top">no</td><td valign="top">FIN</td><td valign="top"></td></tr><tr><td valign="top"> </td><td valign="top">ssn</td><td valign="top">no</td><td valign="top"> </td><td valign="top">Social Security Number</td></tr><tr><td valign="top"> </td><td valign="top">phone_number</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">email</td><td valign="top">no</td><td valign="top"> </td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top">language</td><td valign="top">no</td><td valign="top"> fin</td><td valign="top">If not given --> onboarding wizard</td></tr><tr><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td><td valign="top"> </td></tr></tbody></table>


# Onboarding - APIkey Endpoint

This documentation describes, how to create an API endpoint for receiving Ropo One API-keys of the new profiles, which have been created via Onboarding API.

> Before Ropo One can send new profile's API-key, new profile's eligible person must accept Ropo One "terms & conditions" via strong authentication. When the agreement has been successfully accepted (+ KYC-process completed if applicable), API-keys will be sent automatically to your APIkey endpoint.

### Structure of APIkey Endpoint

Please provide these values to your Ropo contact person both for test and production

* URL of the endpoint
* APIkey for the endpoint

### Endpoint Structure

Example JSON:

```
{
    "bid": "1234567-8",
    "external-id": "a3029a45-2608-4c9c-a8ce-93fcbcb733a7",
    "cid": "123123",
    "apicode": "ABCDEFG123"
}
```

* bid = company Business ID
* external-id
  * external-id is an optional tag with Ropo One onboarding API. Usually external-id refers to your customer unique ID in ERP-platform. If external-id has been given with original onboarding API request, it is included automatically to help you to match the new Ropo One Profile apikey with the correct Business ID in your ERP
* cid = New profile's ID in Ropo One&#x20;
* apicode = New profile's APIcode

> When new Ropo One profile starts to use Ropo One API (like for sending invoices), cid & apikey pair is needed for API authentication

Example curl from Ropo One to your APIkey endpoint:

```
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "bid": "1234567-8", \ 
   "external-id": "a3029a45-2608-4c9c-a8ce-93fcbcb733a7", \
   "cid": "123123", \
   "apicode": "ABCDEFG123" \ 
 }' 'https://your.endpoint/xxx'
```

> Tag "external-id" is an optional tag with Ropo One onboarding API. Usually external-id refers to your customer unique ID in ERP-platform. If external-id has been given with original onboarding API request, it is included automatically to help you to match the new Ropo One Profile apikey with the correct Business ID in your ERP.


# Invoice query by SSN or customer number

Retrieve open and/or paid invoices for an end customer by SSN or customer number.

For each matching invoice, the response includes invoice data and a MyRopoLink. MyRopoLink is included only if the MyRopoLink agreement is active in Ropo One.

Details of the invoice data can be found below.

* Additional information
  * Statuses are the same, which are used in MyRopo (myropo.com)
    * Invoicing
    * Due
    * Reminder
    * Collection
    * Paid (older that 2y from the pay date are not returned)

## POST /jobs/findbyendcustomer

> Find open jobs by end customer SSN or customer number

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobsByEndCustomerRequest":{"properties":{"ssn":{"description":"Social security number (HETU). Either ssn or custnum is required.","type":"string"},"custnum":{"description":"Customer number. Either ssn or custnum is required.","type":"string"},"all_invoices":{"description":"0 = open invoices only (default), 1 = all invoices including paid.","type":"integer"}},"type":"object"},"JobsByEndCustomerResponse":{"properties":{"jobs":{"description":"List of jobs","type":"array","items":{"$ref":"#/components/schemas/JobByEndCustomer"}}},"type":"object"},"JobByEndCustomer":{"properties":{"case_number":{"description":"Case number (internal job ID)","type":"integer"},"invoice_number":{"description":"Invoice number","type":"string"},"original_invoice_date":{"description":"Original invoice date (origjobdate)","type":"string"},"status":{"description":"Current status (invoicing, due, reminder, collection, paid)","type":"string"},"open_amount":{"description":"Open amount","type":"number","format":"float"},"group_job":{"description":"Whether this is a group job (0=no, 1=yes)","type":"integer"},"group_invoice_numbers":{"description":"Invoice numbers of sub-jobs in the group (only when group_job=1)","type":"array","items":{"type":"string"}},"group_total_payable":{"description":"Total payable amount for the group (only when group_job=1)","type":"number","format":"float"},"my_ropo_link":{"description":"Direct MyRopo link for this invoice","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/jobs/findbyendcustomer":{"post":{"tags":["jobs"],"summary":"Find open jobs by end customer SSN or customer number","operationId":"JobsFindByEndCustomerAction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsByEndCustomerRequest"}}}},"responses":{"200":{"description":"Jobs found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsByEndCustomerResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Usage place

This guide explains the functionality and messages used to update energy usage place information in the Ropo One system, such as updating whether a usage place is disconnected or reconnected. It outlines the Ropo One interface (REST API) and message format (JSON). If these capabilities do not align with the client’s system, alternative interfaces (e.g., SFTP) and message formats can be agreed upon, provided they meet Ropo One’s requirements. Such alternatives must be discussed and agreed upon separately during the implementation project.

### Services <a href="#id-23-services" id="id-23-services"></a>

#### Disconnected <a href="#id-231-disconnected" id="id-231-disconnected"></a>

When a usage place is disconnected on the client side after a disconnection request from Ropo One, the action must be reported to Ropo One.

**Example Message:**

```json
{
    "contract_no": "555555b",
    "customernumber": "A123456",
    "description": "Usage place disconnected",
    "id": "1a2b3c4d5",
    "invoices": [
        {
            "invoicenumber": "594294",
            "jobid": "1234"
        }
    ],
    "status": "disconnected",
    "time": "2024-01-04 10:41:40",
    "usageplacecode": "643007572062443672"
}
```

#### Connected <a href="#id-232-connected" id="id-232-connected"></a>

When a usage place is connected on the client side after a connection request from Ropo One, the action must be reported to Ropo One.

**Example Message:**

```json
{
    "contract_no": "555555b",
    "customernumber": "A123456",
    "description": "Usage place connected",
    "id": "1a2b3c4d5",
    "invoices": [
        {
            "invoicenumber": "594294",
            "jobid": "1234"
        }
    ],
    "status": "connected",
    "time": "2024-01-04 10:41:40",
    "usageplacecode": "643007572062443672"
}
```

#### Not Disconnected <a href="#id-233-not-disconnected" id="id-233-not-disconnected"></a>

When a usage place is not disconnected on the client side after a disconnection request from Ropo One, the action must be reported to Ropo One. The message must include a description explaining why the disconnection could not be completed.

**Example Message:**

```json
{
    "contract_no": "555555b",
    "customernumber": "A123456",
    "description": "Usage place not disconnected",
    "id": "1a2b3c4d5",
    "invoices": [
        {
            "invoicenumber": "594294",
            "jobid": "1234"
        }
    ],
    "status": "notdisconnected",
    "time": "2024-01-04 10:41:40",
    "usageplacecode": "643007572062443672"
}
```

## POST /usageplace/event

> API interface for delivering disconnection / reconnection events

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"usageplace","description":"Usageplace events"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"UsageplaceEvent":{"title":"UsageplaceEvent","description":"UsageplaceEvent","properties":{"id":{"description":"Unique id for the event","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"customernumber":{"description":"Customernumer","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/UEInvoice"}},"time":{"description":"Time of event","type":"string"},"status":{"description":"Type of event","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"},"UEInvoice":{"title":"UEInvoice","description":"Invoice","properties":{"jobid":{"description":"Ropo One jobid","type":"integer"},"invoicenumber":{"description":"Invoicenumber","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/usageplace/event":{"post":{"tags":["usageplace"],"summary":"API interface for delivering disconnection / reconnection events","operationId":"usageplaceEventAction","requestBody":{"description":"Details of the usageplace","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageplaceEvent"}}}},"responses":{"200":{"description":"Successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized"}}}}}}
```

\ <br>


# Update contract information

This guide explains the functionality and messages used to update&#x20;contract information in Ropo One.

Interface can be used for example updating&#x20;contract status in Ropo One.

\
This documentation describes Ropo One interface (RestAPI) and message&#x20;format (JSON). If this doesn’t apply to possibilities that client and their system&#x20;can provide, then other interfaces (SFTP) and message formats can be agreed&#x20;as long as they match to Ropo One requirements. Other interfaces and&#x20;message formats must be discussed and agreed separately during&#x20;implementation project.

| Field                                        | Description                                  | Mandatory / Optional | Example                  |
| -------------------------------------------- | -------------------------------------------- | -------------------- | ------------------------ |
| contract\_&#xD;no                            | <p>Contract number (identifier). Is used to  |                      |                          |
| <br>find contract which is requested to be   |                                              |                      |                          |
| <br>updated</p>                              | Mandatory                                    | CN18&#xD;2838        |                          |
| name                                         | Contract name                                | Optional             | Home&#xD; Insura&#xD;nce |
| startdate                                    | Start date for contract                      | Optional             | 2023-&#xD;06-10          |
| enddate                                      | End date for contract                        | Optional             | 2025-&#xD;06-10          |
| contracts&#xD;tatus                          | <p>Contract status                           |                      |                          |
| <br>Available options:                       |                                              |                      |                          |
| <br>• active                                 |                                              |                      |                          |
| <br>• terminated                             |                                              |                      |                          |
| <br>• closed</p>                             | Optional                                     | Termi&#xD;nated      |                          |
| type                                         | Contract type                                | Optional             | Insura&#xD;nce           |
| terminati&#xD;on\_date                       | <p>Date for contract termination if invoices |                      |                          |
| <br>are not paid before.</p>                 | Optional                                     | <p>2023-             |                          |
| <br>08-01</p>                                |                                              |                      |                          |
| terminati&#xD;onterm                         | <p>Term to be used when calculating          |                      |                          |
| <br>termination date. If termination date is |                                              |                      |                          |
| <br>calculated in Ropo24.</p>                | Optional                                     | 14                   |                          |

## PATCH /contract

> Update a contract

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"contract","description":"Job contracts"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ContractUpdateRequest":{"title":"ContractUpdateRequest","description":"ContractUpdateRequest","properties":{"data":{"$ref":"#/components/schemas/JobContract"}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/contract":{"patch":{"tags":["contract"],"summary":"Update a contract","operationId":"updateContractAction","requestBody":{"description":"JSON data with contract details.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractUpdateRequest"}}}},"responses":{"200":{"description":"Returns success message if contract was succesfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractUpdateRequest"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Telecom subscription

Report telecom subscription disconnection events to Ropo One.

This guide explains how to report telecom subscription disconnections to Ropo One.

Use this when the subscription has been disconnected on your side and the event must be reported to Ropo One.

This documentation describes the Ropo One interface (REST API) and message format (JSON). If these capabilities do not fit your system, other interfaces and message formats can be agreed separately during implementation.

### Services

#### Disconnected

When a telecom subscription is disconnected on the client side after a disconnection request from Ropo One, report the action to Ropo One.

**Example message:**

```json
{
  "customernumber": "A123456",
  "description": "Telecom subscription disconnected",
  "id": "1a2b3c4d5",
  "status": "disconnected",
  "time": "2024-01-04 10:41:40"
}
```

{% hint style="info" %}
`customernumber` identifies the end customer whose telecom subscriptions were disconnected.
{% endhint %}

## POST /telecomsubscription/event

> API interface for delivering telecom subscription events

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"telecomsubscription","description":"Telecom subscription events"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"TelecomSubscriptionEvent":{"title":"TelecomSubscriptionEvent","description":"TelecomSubscriptionEvent","properties":{"status":{"description":"Type of event","type":"string"},"customernumber":{"description":"Customer number identifying the debtor","type":"string"},"time":{"description":"Time when the event occurred","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/telecomsubscription/event":{"post":{"tags":["telecomsubscription"],"summary":"API interface for delivering telecom subscription events","operationId":"telecomSubscriptionEventAction","requestBody":{"description":"Details of the telecom subscription event","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelecomSubscriptionEvent"}}}},"responses":{"200":{"description":"Successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Finland

Here is listed all Finland specific actions that can be done through Ropo REST API.&#x20;

{% content-ref url="/pages/CdE4uRCltXtMRxTIQ5uP" %}
[Receiver proposal](/guides/country-specific-actions/finland/receiver-proposal)
{% endcontent-ref %}


# Receiver proposal

Send a Finvoice ReceiverProposal message for Finnish e-invoice onboarding.

Send a Finvoice `ReceiverProposal` message to Ropo One via the REST API.

Ropo forwards the proposal to the debtor’s online bank.

The debtor approves it in their bank.

### Prerequisites

* You have `cid` and `apicode` from Ropo support.
* You can fetch a JWT token. See [Authentication](/guides/basics/authentication).

### Endpoints

* Production: `https://ropo24.fi/rest/receiverproposal`
* Test: `https://rc.ropo24.fi/rest/receiverproposal`

Token endpoint:

* Production: `https://ropo24.fi/rest/token`
* Test: `https://rc.ropo24.fi/rest/token`

### Send a ReceiverProposal

#### Request

* Method: `POST`
* Header: `Authorization: Bearer <token>`
* Header: `Content-Type: application/xml`
* Optional header: `Encoding: UTF-8` or `Encoding: ISO-8859-1`\
  Default is `ISO-8859-1`.
* Body: ReceiverProposal XML as a string (Finvoice standard).

Finvoice reference: <https://www.finanssiala.fi/en/topics/finvoice-standard/>

#### Example (curl)

{% code title="ReceiverProposal.xml upload" %}

```bash
# 1) Fetch token
TOKEN=$(
  curl -s -X POST "https://rc.ropo24.fi/rest/token" \
    -H "accept: application/json" \
    -H "content-type: application/json" \
    -d '{"cid":"<CID>","apicode":"<APICODE>"}' \
  | jq -r .token
)

# 2) Send ReceiverProposal XML
curl -X POST "https://rc.ropo24.fi/rest/receiverproposal" \
  -H "accept: application/json" \
  -H "authorization: Bearer $TOKEN" \
  -H "content-type: application/xml" \
  --data-binary "@/path/to/ReceiverProposal.xml"
```

{% endcode %}

{% hint style="info" %}
Skip `jq` if needed.

Paste the token manually.
{% endhint %}

### API reference

## POST /receiverproposal

> Add Receiver Proposals

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"receiverproposal","description":"Receiver Proposal"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ReceiverResponse":{"title":"ReceiverResponse","description":"ReceiverResponse","properties":{"result":{"description":"Result","type":"string"},"errors":{"description":"Result","type":"string"}},"type":"object"},"Error":{"title":"Error","description":"Error","properties":{"Code":{"type":"integer"},"Message":{"type":"string"}},"type":"object"}}},"paths":{"/receiverproposal":{"post":{"tags":["receiverproposal"],"summary":"Add Receiver Proposals","operationId":"addReceiverProposalAction","parameters":[{"name":"Encoding","in":"header","description":"Optional file encoding 'UTF-8' or 'ISO-8859-1'. Default encoding is 'iso-8859-1'","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"ReceiverProposal XML-string","required":true,"content":{"application/xml":{"schema":{"type":"string"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiverResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Ropo One API

Developer docs for integrating with Ropo One via the Ropo One API.

Use Ropo One API to automate workflows and sync data between your systems and Ropo One.


# Auth

Login and get JWT token

## POST /token

> Get token

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"auth","description":"Login and get JWT token"}],"servers":[{"url":"/rest","description":"Ropo One"}],"paths":{"/token":{"post":{"tags":["auth"],"summary":"Get token","operationId":"AuthTokenAction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthLogin"}}}},"responses":{"201":{"description":"Successfull login. Token will expire in 2 hours","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthToken"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}}}}}},"components":{"schemas":{"AuthLogin":{"title":"AuthLogin","description":"AuthLogin","required":["cid","apicode"],"properties":{"cid":{"description":"Customer number","type":"string"},"apicode":{"description":"Apicode","type":"string"}},"type":"object"},"AuthToken":{"title":"AuthToken","description":"AuthToken","properties":{"token":{"type":"string"}},"type":"object"},"AuthError":{"title":"AuthError","description":"AuthError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```


# Ibancalculator

IbanCalculator

## GET /ibancalculator/{accountnum}

> Change old accountnumbers to IBAN-format

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"ibancalculator","description":"IbanCalculator"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"IbanCalculatorResponse":{"title":"IbanCalculatorResponse","description":"IbanCalculatorResponse","properties":{"iban":{"type":"string"},"bic":{"type":"string"}},"type":"object"},"IbanCalculatorError":{"title":"IbanCalculatorError","description":"IbanCalculatorError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/ibancalculator/{accountnum}":{"get":{"tags":["ibancalculator"],"summary":"Change old accountnumbers to IBAN-format","operationId":"IbanCalculatorIban","parameters":[{"name":"accountnum","in":"path","description":"old accountnumber","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IbanCalculatorResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IbanCalculatorError"}}}}}}}}}
```


# Creditinfo

Credit reports

## GET /creditinfo/search/{govid}/{querier\_ssn}

> Show old credit queries

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditinfo","description":"Credit reports"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditInfoReport":{"title":"CreditInfoReport","description":"CreditInfoReport","properties":{"id":{"type":"integer"},"name":{"type":"string"},"govid":{"type":"string"},"querytype":{"type":"string"},"queryname":{"type":"string"},"datetime":{"type":"string"},"whodid":{"type":"string"}},"type":"object"},"CreditInfoError":{"title":"CreditInfoError","description":"CreditInfoError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditinfo/search/{govid}/{querier_ssn}":{"get":{"tags":["creditinfo"],"summary":"Show old credit queries","operationId":"CreditInfoSearchAction","parameters":[{"name":"govid","in":"path","description":"Social security number OR Business id","required":true,"schema":{"type":"string"}},{"name":"querier_ssn","in":"path","description":"Querier sosial security number. This value can be empty in some cases.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreditInfoReport"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}}}}}}}
```

## GET /creditinfopdf/{reportid}

> Get full report in PDF-format

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditinfo","description":"Credit reports"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditInfoPdfDataResponse":{"title":"CreditInfoPdfDataResponse","description":"CreditInfoPdfDataResponse","properties":{"data":{"type":"string","format":"byte"}},"type":"object"},"CreditInfoError":{"title":"CreditInfoError","description":"CreditInfoError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditinfopdf/{reportid}":{"get":{"tags":["creditinfo"],"summary":"Get full report in PDF-format","operationId":"CreditInfoReportPdfAction","parameters":[{"name":"reportid","in":"path","description":"Id of report","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Report PDF encoded in base64","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoPdfDataResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}}}}}}}
```

## GET /creditinforating/{reportid}

> Get rating and riskclass from rating-report

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditinfo","description":"Credit reports"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditInfoRatingResponse":{"title":"CreditInfoRatingResponse","description":"CreditInfoRatingResponse","properties":{"rating":{"type":"string"},"riskclass":{"type":"integer"}},"type":"object"},"CreditInfoError":{"title":"CreditInfoError","description":"CreditInfoError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditinforating/{reportid}":{"get":{"tags":["creditinfo"],"summary":"Get rating and riskclass from rating-report","operationId":"CreditInfoReportRatingAction","parameters":[{"name":"reportid","in":"path","description":"Id of report","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Rating and riskclass from report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoRatingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}}}}}}}
```

## GET /creditinfopersoncreditrating/{reportid}

> Get credit rating from credit-report

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditinfo","description":"Credit reports"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditInfoCreditRatingResponse":{"title":"CreditInfoCreditRatingResponse","description":"CreditInfoCreditRatingResponse","properties":{"creditrating":{"type":"string"}},"type":"object"},"CreditInfoError":{"title":"CreditInfoError","description":"CreditInfoError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditinfopersoncreditrating/{reportid}":{"get":{"tags":["creditinfo"],"summary":"Get credit rating from credit-report","operationId":"CreditInfoReportCreditRatingAction","parameters":[{"name":"reportid","in":"path","description":"Id of report","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Credit rating from report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoCreditRatingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoError"}}}}}}}}}
```

## POST /creditinfo

> Make new credit query

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditinfo","description":"Credit reports"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditInfoRequest":{"title":"CreditInfoRequest","description":"CreditInfoRequest","required":["govid","creditinfo_reason","creditinfo_status"],"properties":{"govid":{"description":"Business Id or Social security number","type":"string"},"creditinfo_reason":{"description":"Reason for query","type":"string","enum":["1","2","3","4","5","6","7","8","9","A","B","C"]},"creditinfo_status":{"description":"Type of report","type":"string","enum":["krbasic","krplus","krplus2","credit","creditcplus","rating"]},"querier_name":{"description":"Querier name","type":"string"},"querier_ssn":{"description":"Querier sosial security number","type":"string"}},"type":"object"},"CreditInfoCreatedResponse":{"title":"CreditInfoCreatedResponse","description":"CreditInfoCreatedResponse","properties":{"id":{"type":"integer"}},"type":"object"},"Error":{"title":"Error","description":"Error","properties":{"Code":{"type":"integer"},"Message":{"type":"string"}},"type":"object"}}},"paths":{"/creditinfo":{"post":{"tags":["creditinfo"],"summary":"Make new credit query","operationId":"CreditInfoNewAction","requestBody":{"description":"CreditInfoRequest","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoRequest"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditInfoCreatedResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```


# Creditdecision

Credit Decision

## GET /creditdecision/read

> Get exiting decision

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditdecision","description":"Credit Decision"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditDecisionReportResponse":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"$ref":"#/components/schemas/CreditDecisionReportData"}},"type":"object"},"CreditDecisionReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"},"CreditDecisionError":{"title":"CreditDecisionError","description":"CreditDecisionError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditdecision/read":{"get":{"tags":["creditdecision"],"summary":"Get exiting decision","operationId":"5b478c522a76e62a66968348b2e87884","parameters":[{"name":"timestamp","in":"query","description":"Decision timestamp found from created decision response data block","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Credit decision report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionReportResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionError"}}}}}}}}}
```

## POST /creditdecision

> Create new creditdecision

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditdecision","description":"Credit Decision"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditDecisionReportRequest":{"title":"CreditDecisionReportRequest","description":"CreditDecisionReportRequest","required":["id"],"properties":{"id":{"description":"Valid sosial security number or business id","type":"string"},"limit":{"description":"Request item limit to be returned. Recommended values are 100 or 200, maximum is 1000.","type":"integer"},"dir":{"description":"Sort direction. Allowed values are 'ASC' or 'DESC'. ASC returns items from oldest to newest (default). DESC returns items from newest to oldest.","type":"string"},"cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"},"CreditDecisionReportResponse":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"$ref":"#/components/schemas/CreditDecisionReportData"}},"type":"object"},"CreditDecisionReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"},"CreditDecisionError":{"title":"CreditDecisionError","description":"CreditDecisionError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditdecision":{"post":{"tags":["creditdecision"],"summary":"Create new creditdecision","operationId":"6e0d8255bc1a59890c7c48ca148cf820","requestBody":{"description":"CreditDecisionReportRequest","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionReportRequest"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionReportResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionError"}}}}}}}}}
```

## POST /creditdecision/search

> Search from exiting decisions

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditdecision","description":"Credit Decision"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditDecisionReportRequest":{"title":"CreditDecisionReportRequest","description":"CreditDecisionReportRequest","required":["id"],"properties":{"id":{"description":"Valid sosial security number or business id","type":"string"},"limit":{"description":"Request item limit to be returned. Recommended values are 100 or 200, maximum is 1000.","type":"integer"},"dir":{"description":"Sort direction. Allowed values are 'ASC' or 'DESC'. ASC returns items from oldest to newest (default). DESC returns items from newest to oldest.","type":"string"},"cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"},"CreditDecisionSearchReportResponse":{"title":"CreditDecisionSearchReportResponse","description":"CreditDecisionSearchReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionSearchReportData"}},"metadata":{"oneOf":[{"$ref":"#/components/schemas/CreditDecisionMetadata"},{"type":"null"}]}},"type":"object"},"CreditDecisionSearchReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"},"CreditDecisionMetadata":{"title":"CreditDecisionMetadata","description":"CreditDecisionMetadata","properties":{"next_cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"},"CreditDecisionError":{"title":"CreditDecisionError","description":"CreditDecisionError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditdecision/search":{"post":{"tags":["creditdecision"],"summary":"Search from exiting decisions","operationId":"1077ea5372c5b56943a3f3b9ce1422c4","requestBody":{"description":"CreditDecisionReportRequest","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionReportRequest"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionSearchReportResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionError"}}}}}}}}}
```

## GET /creditdecision/browse

> Browse exiting decisions

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"creditdecision","description":"Credit Decision"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreditDecisionSearchReportResponse":{"title":"CreditDecisionSearchReportResponse","description":"CreditDecisionSearchReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionSearchReportData"}},"metadata":{"oneOf":[{"$ref":"#/components/schemas/CreditDecisionMetadata"},{"type":"null"}]}},"type":"object"},"CreditDecisionSearchReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"},"CreditDecisionMetadata":{"title":"CreditDecisionMetadata","description":"CreditDecisionMetadata","properties":{"next_cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"},"CreditDecisionError":{"title":"CreditDecisionError","description":"CreditDecisionError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/creditdecision/browse":{"get":{"tags":["creditdecision"],"summary":"Browse exiting decisions","operationId":"ba7684de39041c6519fc2e3989d72f83","parameters":[{"name":"limit","in":"query","description":"Request item limit to be returned. Recommended values are 100 or 200, maximum is 1000.","required":false,"schema":{"type":"integer"}},{"name":"dir","in":"query","description":"Sort direction. Allowed values are 'ASC' or 'DESC'. ASC returns items from oldest to newest (default). DESC returns items from newest to oldest.","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionSearchReportResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditDecisionError"}}}}}}}}}
```


# Control

Company monitoring

## GET /control/incontrol/{govid}

> Search companies in control

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Control":{"title":"Control","description":"Control","properties":{"controlId":{"type":"integer"},"govId":{"type":"string"},"startTime":{"type":"string"},"controlName":{"type":"string"},"statusCode":{"type":"string"},"statusText":{"type":"string"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/incontrol/{govid}":{"get":{"tags":["control"],"summary":"Search companies in control","operationId":"ControlSearchAction","parameters":[{"name":"govid","in":"path","description":"Business Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Control"}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## POST /control/incontrol/{govid}

> Add company to control

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlAddResponse":{"title":"ControlAddResponse","description":"ControlAddResponse","properties":{"controlId":{"type":"integer"},"govId":{"type":"string"},"startTime":{"type":"string"},"controlName":{"type":"string"},"statusCode":{"type":"string"},"statusText":{"type":"string"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/incontrol/{govid}":{"post":{"tags":["control"],"summary":"Add company to control","operationId":"ControlAddAction","parameters":[{"name":"govid","in":"path","description":"Business Id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlAddResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## DELETE /control/incontrol/{govid}

> Delete company from control

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/incontrol/{govid}":{"delete":{"tags":["control"],"summary":"Delete company from control","operationId":"ControlDeleteAction","parameters":[{"name":"govid","in":"path","description":"Business id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Control disabled"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## GET /control/reportsbygovid/{govid}

> Search reports by businessid

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlReport":{"title":"ControlReport","description":"ControlReport","properties":{"reportId":{"type":"integer"},"controlId":{"type":"integer"},"govId":{"type":"string"},"controlName":{"type":"string"},"datetime":{"type":"string"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/reportsbygovid/{govid}":{"get":{"tags":["control"],"summary":"Search reports by businessid","operationId":"ControlReportsbygovidAction","parameters":[{"name":"govid","in":"path","description":"Business Id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ControlReport"}}}}},"400":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## GET /control/reportsbydate/{date}

> Search reports by date

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlReport":{"title":"ControlReport","description":"ControlReport","properties":{"reportId":{"type":"integer"},"controlId":{"type":"integer"},"govId":{"type":"string"},"controlName":{"type":"string"},"datetime":{"type":"string"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/reportsbydate/{date}":{"get":{"tags":["control"],"summary":"Search reports by date","operationId":"ControlReportsByDateAction","parameters":[{"name":"date","in":"path","description":"Report date","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ControlReport"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## GET /control/reports/{reportid}

> Get report

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlReportResponse":{"title":"ControlReportResponse","description":"ControlReportResponse","properties":{"reportId":{"type":"integer"},"controlId":{"type":"integer"},"timestamp":{"type":"string"},"control_govid":{"type":"string"},"control_name":{"type":"string"},"control_rating":{"type":"string"},"control_paydex":{"type":"string"},"control_ratingdate":{"type":"string"},"control_scoringchange":{"type":"string"},"control_ratingchange":{"type":"string"},"control_namechange":{"type":"string"},"control_newpaymentfault":{"type":"string"},"control_newaccountingdetails":{"type":"string"},"control_companydel":{"type":"string"},"control_fusion":{"type":"string"},"control_epr":{"type":"string"},"control_prevrating":{"type":"string"},"control_duns":{"type":"string"},"control_receivinggovid":{"type":"string"},"control_score":{"type":"string"},"control_payment_code1":{"type":"string"},"control_payment_date1":{"type":"string"},"control_payment_amount1":{"type":"integer"},"control_payment_ref1":{"type":"string"},"control_payment_receiver1":{"type":"string"},"control_payment_code2":{"type":"string"},"control_payment_date2":{"type":"string"},"control_payment_amount2":{"type":"integer"},"control_payment_ref2":{"type":"string"},"control_payment_receiver2":{"type":"string"},"control_payment_code3":{"type":"string"},"control_payment_date3":{"type":"string"},"control_payment_amount3":{"type":"integer"},"control_payment_ref3":{"type":"string"},"control_payment_receiver3":{"type":"string"},"control_payment_code4":{"type":"string"},"control_payment_date4":{"type":"string"},"control_payment_amount4":{"type":"integer"},"control_payment_ref4":{"type":"string"},"control_payment_receiver4":{"type":"string"},"control_payment_code5":{"type":"string"},"control_payment_date5":{"type":"string"},"control_payment_amount5":{"type":"integer"},"control_payment_ref5":{"type":"string"},"control_payment_receiver5":{"type":"string"},"control_payment_code6":{"type":"string"},"control_payment_date6":{"type":"string"},"control_payment_amount6":{"type":"integer"},"control_payment_ref6":{"type":"string"},"control_payment_receiver6":{"type":"string"},"control_payment_code7":{"type":"string"},"control_payment_date7":{"type":"string"},"control_payment_amount7":{"type":"integer"},"control_payment_ref7":{"type":"string"},"control_payment_receiver7":{"type":"string"},"control_payment_code8":{"type":"string"},"control_payment_date8":{"type":"string"},"control_payment_amount8":{"type":"integer"},"control_payment_ref8":{"type":"string"},"control_payment_receiver8":{"type":"string"},"control_payment_code9":{"type":"string"},"control_payment_date9":{"type":"string"},"control_payment_amount9":{"type":"integer"},"control_payment_ref9":{"type":"string"},"control_payment_receiver9":{"type":"string"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/reports/{reportid}":{"get":{"tags":["control"],"summary":"Get report","operationId":"ControlReportAction","parameters":[{"name":"reportid","in":"path","description":"Id of report","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"successfull operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlReportResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```

## GET /control/reportspdf/{reportid}

> Get report in PDF-format

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"control","description":"Company monitoring"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ControlPdfDataResponse":{"title":"ControlPdfDataResponse","description":"ControlPdfDataResponse","properties":{"data":{"type":"string","format":"byte"}},"type":"object"},"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/control/reportspdf/{reportid}":{"get":{"tags":["control"],"summary":"Get report in PDF-format","operationId":"ControlReportPdfAction","parameters":[{"name":"reportid","in":"path","description":"Id of report","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Control report PDF encoded in base64","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlPdfDataResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlError"}}}}}}}}}
```


# Contract

Job contracts

## PATCH /contract

> Update a contract

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"contract","description":"Job contracts"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ContractUpdateRequest":{"title":"ContractUpdateRequest","description":"ContractUpdateRequest","properties":{"data":{"$ref":"#/components/schemas/JobContract"}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/contract":{"patch":{"tags":["contract"],"summary":"Update a contract","operationId":"updateContractAction","requestBody":{"description":"JSON data with contract details.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractUpdateRequest"}}}},"responses":{"200":{"description":"Returns success message if contract was succesfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractUpdateRequest"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Profile

Customer profile

## Create a new Ropo one Profile

> Creates a new Ropo One profile if the contract 'create\_customer\_api' is active for the authenticated user.

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"profile","description":"Customer profile"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"CreateProfileRequest":{"title":"CreateProfileRequest","description":"Profile creation payload","properties":{"allowIncompleteData":{"description":"Whether incomplete data is allowed. When true and required fields are missing, the profile is stored for later completion instead of created.","type":["boolean","null"]},"customer_info":{"$ref":"#/components/schemas/CreateProfileCustomerInfo","description":"Customer (company) information"},"customer_service_contact":{"$ref":"#/components/schemas/CreateCustomerServiceContact","description":"Customer service contact information"},"contact_person":{"$ref":"#/components/schemas/CreateCustomerContactPerson","description":"Contact person"},"agreement_acceptor":{"$ref":"#/components/schemas/CreateCustomerAgreementAcceptor","description":"Agreement acceptor"},"money_laundering_acceptor":{"$ref":"#/components/schemas/CreateCustomerMoneyLaunderingAcceptor","description":"Money laundering acceptor"},"services":{"$ref":"#/components/schemas/CreateProfileServices","description":"Services information"},"settlement_settings":{"$ref":"#/components/schemas/CreateCustomerSettlementSettings","description":"Settlement settings"},"ropo_service_fees":{"$ref":"#/components/schemas/CreateProfileRopoServiceFees","description":"Ropo service fees"},"additional_information":{"$ref":"#/components/schemas/CreateCustomerAdditionalInformation","description":"Additional information"},"users":{"description":"Users","type":["array","null"],"items":{"$ref":"#/components/schemas/CreateCustomerUser"}}},"type":"object"},"CreateProfileCustomerInfo":{"title":"CreateProfileCustomerInfo","description":"Customer (company) information","properties":{"business_id":{"description":"Business ID / Personal identification number","type":["string","null"]},"name":{"description":"Name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"language":{"description":"Language","type":["string","null"]},"liable_to_pay_vat":{"description":"Is the customer liable to pay VAT","type":["boolean","null"]},"vat_number":{"description":"VAT number","type":["string","null"]},"customer_company_type":{"description":"Customer type","type":["integer","null"]}},"type":"object"},"CreateCustomerServiceContact":{"title":"CustomerServiceContact","properties":{"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerContactPerson":{"title":"ContactPerson","properties":{"name":{"description":"Name","type":["string","null"]},"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerAgreementAcceptor":{"title":"AgreementAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerMoneyLaunderingAcceptor":{"title":"MoneyLaunderingAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateProfileServices":{"title":"Services","properties":{"service_types":{"description":"Service types to activate","type":"array","items":{"type":"integer"}}},"type":"object"},"CreateCustomerSettlementSettings":{"title":"SettlementSettings","properties":{"bank_account_type":{"description":"Bank account type","type":["integer","null"]},"bank_account_number":{"description":"Bank account number","type":["string","null"]},"bank_account_owner":{"description":"Bank account owner","type":["string","null"]},"reference_length":{"description":"Reference length (SE & NO only)","type":["integer","null"]}},"type":"object"},"CreateProfileRopoServiceFees":{"title":"RopoServiceFees","properties":{"invoicing_method":{"description":"Invoicing method (1=post, 2=email, 3=B2B e-invoice, 4=Peppol)","type":["integer","null"]},"invoicing_email_address":{"description":"Invoicing email address","type":["string","null"]}},"type":"object"},"CreateCustomerAdditionalInformation":{"title":"AdditionalInformation","properties":{"profile_uuid":{"description":"Profile UUID","type":["string","null"]}},"type":"object"},"CreateCustomerUser":{"title":"User","properties":{"first_name":{"description":"First name","type":["string","null"]},"last_name":{"description":"Last name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"nationality":{"description":"Nationality","type":["string","null"]},"phone_number":{"description":"Phone number","type":["string","null"]},"email":{"description":"Email","type":["string","null"]},"language":{"description":"Language","type":["string","null"]}},"type":"object"},"NewCustomerResultRest":{"title":"NewCustomerResultRest","description":"NewCustomerResultRest","properties":{"customerId":{"description":"Customer ID of the newly created customer","type":["string","null"]},"message":{"description":"Message regarding the creation result","type":["string","null"]},"status":{"description":"Status of the customer creation process","type":["string","null"]}},"type":"object"},"IncompleteCustomerResult":{"title":"IncompleteCustomerResult","description":"Response object for incomplete customer creation operations","properties":{"uuid":{"description":"Unique identifier for the incomplete customer record","type":["string","null"]},"status":{"description":"HTTP status code or operation status","type":["string","null"]},"message":{"description":"Human-readable message describing the result","type":["string","null"]},"wizard_url":{"description":"Ropo One URL where to continue the onboarding process","type":["string","null"]}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/profile/createprofile":{"post":{"tags":["profile"],"summary":"Create a new Ropo one Profile","description":"Creates a new Ropo One profile if the contract 'create_customer_api' is active for the authenticated user.","operationId":"createCustomerAction","requestBody":{"description":"Profile creation payload","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProfileRequest"}}}},"responses":{"200":{"description":"Customer created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewCustomerResultRest"}}}},"201":{"description":"Incomplete customer data added successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncompleteCustomerResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HttpApiProblem"},{"$ref":"#/components/schemas/NewCustomerResultRest"}]}}}},"403":{"description":"Create customer contract not active","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Jobs

Manage Jobs

## GET /jobs

> Get jobs

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobJobInfo":{"title":"JobJobInfo","description":"JobJobInfo","properties":{"accountdate":{"description":"The date job was added","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":"string"},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":"string"},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":"string"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"city":{"description":"The mailing location of the debtor","type":"string"},"company":{"description":"Name of the corporate customer","type":"string"},"country":{"description":"Country where the corporate customer is registered","type":"string"},"currentpaydate":{"description":"Current paydate","type":"string"},"currentstatus":{"description":"Current status","type":"integer"},"currentstatustext":{"description":"Current statustext","type":"string"},"custnum":{"description":"The customer number of the customer in the principals system","type":"string"},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":"string"},"jobid":{"description":"Job id","type":"integer"},"nextstatus":{"description":"Next status (-1 if next status is not available)","type":"integer"},"nextstatusdate":{"description":"Date when next status occurs","type":"string"},"nextstatustext":{"description":"Next status text","type":"string"},"origjobdate":{"description":"Date when job was originally received","type":"string"},"origjobtext":{"description":"Original status text","type":"string"},"origjobtype":{"description":"Jobtype when job was originally received","type":"integer"},"paydate":{"description":"Original duedate of the bill","type":"string"},"person":{"description":"The name of the consumer client","type":"string"},"postcode":{"description":"The postal code of the customer","type":"string"},"reference":{"description":"Reference number or message, by which the payment is delivered to the biller","type":"string"},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":"integer"},"vatid":{"description":"The VAT ID of the customer","type":"string"},"breakdown":{"type":"array","items":{"$ref":"#/components/schemas/JobBreakdown"}},"payment":{"type":"array","items":{"$ref":"#/components/schemas/JobPayment"}},"refund":{"type":"array","items":{"$ref":"#/components/schemas/JobRefund"}},"status":{"type":"array","items":{"$ref":"#/components/schemas/JobStatus"}}},"type":"object"},"JobBreakdown":{"title":"JobBreakdown","description":"JobBreakdown","properties":{"billnum":{"description":"Laskunnumero","type":"string"},"origpaydate":{"description":"Original paydate","type":"string"},"capital":{"description":"Total amount of original capital","type":"number"},"interest":{"description":"Total amount of interests","type":"number"},"expenses":{"description":"Total amount of expenses","type":"number"},"netamount":{"description":"Total amount of open capital without VAT","type":"number"},"opencapital":{"description":"Total amount of open capital","type":"number"},"title":{"description":"Breakdown title","type":"string"},"vatamount":{"description":"Total VAT amount of open capital","type":"number"},"subtaskids":{"description":"IDs of subtasks","type":"string"},"subtasks":{"type":"array","items":{"$ref":"#/components/schemas/JobBreakdown"}},"creditnotes":{"oneOf":[{"$ref":"#/components/schemas/JobCreditNotes","description":"List of end customers unallocated credit notes"},{"type":"null"}],"description":"List of end customers unallocated credit notes"},"opencapitalwithoutcreditnotes":{"description":"Total amount of open capital without credit note allocations.","type":"number"},"overdueinterest":{"description":"Overdueinterestpercentage","type":"number"},"totalamount":{"description":"Total amount","type":["number","null"]}},"type":"object"},"JobCreditNotes":{"title":"JobCreditNotes","description":"JobCreditNotes","properties":{"creditnote":{"description":"List of credit invoices / notes","type":"array","items":{"$ref":"#/components/schemas/JobCreditNote"}}},"type":"object"},"JobCreditNote":{"title":"JobCreditNote","description":"JobCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"billdate":{"description":"Date","type":"string"},"duedate":{"description":"Date","type":"string"},"allocated":{"description":"Allocated amount of credit note","type":"number"},"unallocated":{"description":"Unallocated amount of credit note","type":"number"},"job_allocated":{"type":"array","items":{"$ref":"#/components/schemas/JobAllocated"}}},"type":"object"},"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"},"JobPayment":{"title":"JobPayment","description":"JobPayment","properties":{"amount":{"description":"Amount of payment","type":"number"},"desc":{"description":"Visible description to customer","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"rowtype":{"description":"Type of row","type":"integer"},"rowtypetext":{"description":"Description of rowtype in text","type":"string"},"returndesc":{"description":"Type of returndesc","type":"integer"},"returndesctext":{"description":"Description of returndesc in text","type":"string"},"rowtime":{"description":"Timestamp of rowinsert","type":"string"},"statusid":{"description":"Id of payment","type":"integer"}},"type":"object"},"JobRefund":{"title":"JobRefund","description":"JobRefund","properties":{"amount":{"description":"Amount of refund","type":"number"},"date":{"description":"Date of refund","type":"string"},"jobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":"integer"}},"type":"object"},"JobStatus":{"title":"JobStatus","description":"JobStatus","properties":{"statuscode":{"description":"Code of status","type":"integer"},"statusref":{"description":"Short description of the update","type":"string"},"statustext":{"description":"Additional info of statusref","type":"number"},"statustime":{"description":"Time of status","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"get":{"tags":["jobs"],"summary":"Get jobs","operationId":"JobGetJobAction","parameters":[{"name":"jobid","in":"query","description":"Id of the job","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobJobInfo"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## POST /jobs

> Add bills

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"post":{"tags":["jobs"],"summary":"Add bills","operationId":"JobAddJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Content type","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Job","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"},"429":{"description":"Too many requests - Too many concurrent requests for this customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}}}}}}}
```

## PATCH /jobs

> Modify existing bill data

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs":{"patch":{"tags":["jobs"],"summary":"Modify existing bill data","operationId":"JobPatchJobAction","parameters":[{"name":"jobid","in":"query","description":"Id of the job to modify [jobid or billnum is required]","required":false,"schema":{"type":"integer"}},{"name":"billnum","in":"query","description":"Billnum of the job to modify [jobid or billnum is required]","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"JSON defining only the fields to modify. Currently supported: 'paydate', 'addaddress'.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDataSet"}}}},"responses":{"200":{"description":"Successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## GET /jobs/statusupdates

> Get jobs status update information

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobsStatusUpdatesResult":{"title":"JobsStatusUpdatesResult","description":"JobsStatusUpdatesResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesStatus"}},"type":"object"},"JobsStatusUpdatesStatus":{"title":"JobsStatusUpdatesStatus","description":"JobsStatusUpdatesStatus","properties":{"status":{"type":"array","items":{"$ref":"#/components/schemas/JobsStatusUpdatesStatusRecord"}}},"type":"object"},"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"},"JobsStatusUpdatesCommonErrorResult":{"title":"JobsStatusUpdatesCommonErrorResult","description":"JobsStatusUpdatesCommonErrorResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonError","description":"object."}},"type":"object"},"JobsStatusUpdatesCommonError":{"title":"JobsStatusUpdatesCommonError","description":"JobsStatusUpdatesCommonError","properties":{"commonerror":{"description":"Descriptive string of an error.","type":"string"}},"type":"object"}}},"paths":{"/jobs/statusupdates":{"get":{"tags":["jobs"],"summary":"Get jobs status update information","operationId":"JobsGetStatusUpdatesAction","parameters":[{"name":"date","in":"query","description":"Date (YYYY-MM-DD) to define to get all status update of given day.","required":false,"schema":{"type":"string"}},{"name":"billnum","in":"query","description":"Invoice number. Response will contain all status updates for the invoice.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesResult"}}}},"204":{"description":"No Content, No status updates to return"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonErrorResult"}}}},"401":{"description":"Unauthorized"}}}}}}
```

## GET /jobs/pdf

> Get bill in pdf-format

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/pdf":{"get":{"tags":["jobs"],"summary":"Get bill in pdf-format","operationId":"JobsGetPdfAction","parameters":[{"name":"jobid","in":"query","description":"Id of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"integer"}},{"name":"billnum","in":"query","description":"Billnum of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"string"}},{"name":"contractnum","in":"query","description":"Contractnum of the job [contractnum, billnum or jobid is required]","required":false,"schema":{"type":"string"}},{"name":"documentdate","in":"query","description":"Document date of the job [also contractnum or billnum is required]","required":false,"schema":{"type":"string"}},{"name":"origdata","in":"query","description":"0 = current, 1 = original[default]","required":false,"schema":{"type":"integer"}},{"name":"documenttype","in":"query","description":"Documenttype for Joisto archive.","required":false,"schema":{"type":"string"}},{"name":"joistocolumn","in":"query","description":"Column name in Joisto archive (JobId, Laskunumero, Laskunro)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns PDF","content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## PATCH /jobs/opensalesinvoices

> Modify existing bill data for multiple open invoices by customer and order number, or by contract number

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobPatchOpenSalesInvoicesResponse":{"title":"JobPatchOpenSalesInvoicesResponse","description":"JobPatchOpenSalesInvoicesResponse","properties":{"opensalesinvoices":{"type":"array","items":{"$ref":"#/components/schemas/JobPatchOpenSalesInvoicesResponseResult"}}},"type":"object"},"JobPatchOpenSalesInvoicesResponseResult":{"title":"JobPatchOpenSalesInvoicesResponseResult","description":"JobPatchOpenSalesInvoicesResponseResult","properties":{"jobid":{"description":"Job ID","type":"integer"},"billnum":{"description":"Bill number","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/opensalesinvoices":{"patch":{"tags":["jobs"],"summary":"Modify existing bill data for multiple open invoices by customer and order number, or by contract number","operationId":"patchOpenSalesInvoicesAction","parameters":[{"name":"custnum","in":"query","description":"Customer number of job(s) to modify [required together with ordernumber, unless contractnum is used]","required":false,"schema":{"type":"string"}},{"name":"ordernumber","in":"query","description":"Order number of job(s) to modify [required together with custnum, unless contractnum is used]","required":false,"schema":{"type":"string"}},{"name":"contractnum","in":"query","description":"Contract number of job(s) to modify [alternative to custnum+ordernumber]","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"JSON defining only the fields to modify. Currently 'addaddress' is the only one supported.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDataSet"}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobPatchOpenSalesInvoicesResponse"}}}},"204":{"description":"No content (no jobs were updated)"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden (customer type mismatch)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## PATCH /jobs/deliverystatus

> Update invoice delivery status

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobDeliveryStatusRequest":{"title":"JobDeliveryStatusRequest","description":"JobDeliveryStatusRequest","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"service":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobDeliveryStatusRequestData"}}},"type":"object"},"JobDeliveryStatusRequestData":{"title":"JobDeliveryStatusRequestData","description":"JobDeliveryStatusRequestData","properties":{"reporterid":{"type":"string"},"documentid":{"type":"string"},"status":{"type":"string"},"statustime":{"type":"string"},"description":{"type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/deliverystatus":{"patch":{"tags":["jobs"],"summary":"Update invoice delivery status","operationId":"patchJobsDeliveryStatus","requestBody":{"description":"JSON defining status udpate","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDeliveryStatusRequest"}}}},"responses":{"200":{"description":"Successful operation"},"204":{"description":"No content (no jobs were updated)"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## POST /jobs/preview

> Preview of the invoice

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/preview":{"post":{"tags":["jobs"],"summary":"Preview of the invoice","operationId":"JobPreviewJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Data sent. Can be JSON defined by the Job Model, but also mutually agreed custom data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Returns PDF","headers":{"pdfname":{"description":"pdf filename","schema":{"type":"string"}}},"content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```

## POST /jobs/localprint

> Print locally the invoice

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"},"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/localprint":{"post":{"tags":["jobs"],"summary":"Print locally the invoice","operationId":"JobLocalprintJobAction","parameters":[{"name":"DataIdentifier","in":"header","description":"Data identifier defined by customer for tracking purposes","required":false,"schema":{"type":"string"}},{"name":"DataTypeIdentifier","in":"header","description":"Data type identifier","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"Data sent. Can be JSON defined by the Job Model, but also mutually agreed custom data","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"responses":{"201":{"description":"Returns PDF","headers":{"pdfname":{"description":"pdf filename","schema":{"type":"string"}}},"content":{"application/pdf":{}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```

## POST /jobs/payment

> Add payment to existing job.

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobAddPayment":{"title":"JobAddPayment","description":"JobAddPayment","required":["amount","paydate"],"properties":{"amount":{"description":"Amount of payment","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"paydate":{"description":"Date of payment","type":"string"},"identifier":{"description":"Payment targeting identifier","type":"string"},"type":{"description":"Payment type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of payment","type":"string"}},"type":"object"},"JobAddPaymentResponse":{"title":"JobAddPaymentResponse","description":"JobAddPaymentResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"amount":{"description":"Amount of payment","type":"number"},"capitalbefore":{"description":"Open capital before payment","type":"number"},"capitalafter":{"description":"Open capital after payment","type":"number"},"focusedtocapital":{"description":"Amount focused to opencapital","type":"number"},"interestbefore":{"description":"Amount before to interest","type":"number"},"interestafter":{"description":"Amount after to interest","type":"number"},"focusedtointerest":{"description":"Amount focused to interest","type":"number"},"noticefeebefore":{"description":"Amount after to customer notice fee","type":"number"},"noticefeeafter":{"description":"Amount before to customer notice fee","type":"number"},"focusedtonoticefee":{"description":"Amount focused to customer notice fee","type":"number"},"unfocused":{"description":"Unfocused amount","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 3 : ROPO, 4 : ROPO Refund, 5 : CLOSE, 6 : OHISPAY, 8 : IGNORE, 9 : DIFFCID, 10 : NOT FOUND, 11 : CANCELLED. Only with value 6 Http-Responsecode is 201 other 400","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}},"paths":{"/jobs/payment":{"post":{"tags":["jobs"],"summary":"Add payment to existing job.","operationId":"JobAddPaymentJobAction","requestBody":{"description":"JobAddPayment","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPayment"}}}},"responses":{"201":{"description":"Payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPaymentResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddPaymentResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```

## POST /jobs/creditnote

> Add credit note to existing job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobAddCreditNote":{"title":"JobAddCreditNote","description":"JobAddCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"date":{"description":"Date","type":"string"},"type":{"description":"Credit note type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of credit note","type":"string"}},"type":"object"},"JobAddCreditNoteResponse":{"title":"JobAddCreditNoteResponse","description":"JobAddCreditNoteResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"date":{"description":"Date of credit note","type":"string"},"amount":{"description":"Amount of credit note","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 8 : IGNORE, 10 : NOT FOUND, 11 : CANCELLED, 12 = OLD CANCEL.","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}},"paths":{"/jobs/creditnote":{"post":{"tags":["jobs"],"summary":"Add credit note to existing job","operationId":"JobAddCreditNoteJobAction","requestBody":{"description":"JobAddCreditNote","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNote"}}}},"responses":{"201":{"description":"Credit note response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNoteResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobAddCreditNoteResponse"}}}},"401":{"description":"Unauthorized"}}}}}}
```

## GET /jobs/transferconfirmation

> Send transfer report based on Batch ID

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}},"paths":{"/jobs/transferconfirmation":{"get":{"tags":["jobs"],"summary":"Send transfer report based on Batch ID","operationId":"TransferConfirmationTransfer","parameters":[{"name":"batchid","in":"query","description":"Transferconfirmation batchid identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}},"404":{"description":"report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponseErrors"}}}}}}}}}
```

## POST /jobs/dispute

> Dispute a job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobDisputeRequest":{"title":"JobDisputeRequest","description":"JobDisputeRequest","properties":{"data":{"$ref":"#/components/schemas/JobDisputeRequestData"}},"type":"object"},"JobDisputeRequestData":{"title":"JobDisputeRequestData","description":"JobDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"},"JobDisputeResponse":{"title":"JobDisputeResponse","description":"JobDisputeResponse","properties":{"created_at":{"description":"Timestamp of the response.","type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobDisputeResponseData"}}},"type":"object"},"JobDisputeResponseData":{"title":"JobDisputeResponseData","description":"JobDisputeResponseData","properties":{"updated_at":{"description":"Timestamp when the dispute was succesfully made.","type":"string"},"jobid":{"description":"ID of the disputed job.","type":"integer"},"billnum":{"description":"Billnum of the disputed job.","type":"string"},"status":{"description":"Success status of the dispute request.","type":"boolean"},"statustext":{"description":"Status text of the dispute request.","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/jobs/dispute":{"post":{"tags":["jobs"],"summary":"Dispute a job","operationId":"disputeJobAction","parameters":[{"name":"jobid","in":"query","description":"Job ID, required if invoice number not given.","schema":{"type":"string"}},{"name":"invoice_number","in":"query","description":"Invoice number, required if job ID not given.","schema":{"type":"string"}}],"requestBody":{"description":"JSON data with dispute reason in description.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDisputeRequest"}}}},"responses":{"200":{"description":"Returns success message if job was succesfully disputed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDisputeResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```

## POST /jobs/dispute/resolve

> Resolve a disputed job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobResolveDisputeRequest":{"title":"JobResolveDisputeRequest","description":"JobResolveDisputeRequest","properties":{"data":{"$ref":"#/components/schemas/JobResolveDisputeRequestData"}},"type":"object"},"JobResolveDisputeRequestData":{"title":"JobResolveDisputeRequestData","description":"JobResolveDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"},"JobDisputeResponse":{"title":"JobDisputeResponse","description":"JobDisputeResponse","properties":{"created_at":{"description":"Timestamp of the response.","type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobDisputeResponseData"}}},"type":"object"},"JobDisputeResponseData":{"title":"JobDisputeResponseData","description":"JobDisputeResponseData","properties":{"updated_at":{"description":"Timestamp when the dispute was succesfully made.","type":"string"},"jobid":{"description":"ID of the disputed job.","type":"integer"},"billnum":{"description":"Billnum of the disputed job.","type":"string"},"status":{"description":"Success status of the dispute request.","type":"boolean"},"statustext":{"description":"Status text of the dispute request.","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/jobs/dispute/resolve":{"post":{"tags":["jobs"],"summary":"Resolve a disputed job","operationId":"resolveDisputeJobAction","parameters":[{"name":"jobid","in":"query","description":"Job ID, required if invoice_number not given.","schema":{"type":"string"}},{"name":"invoice_number","in":"query","description":"Invoice number, required if job ID not given.","schema":{"type":"string"}}],"requestBody":{"description":"JSON data with resolve reason in description.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResolveDisputeRequest"}}}},"responses":{"200":{"description":"Returns success message if job was succesfully resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDisputeResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```

## POST /jobs/findbyendcustomer

> Find open jobs by end customer SSN or customer number

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobsByEndCustomerRequest":{"properties":{"ssn":{"description":"Social security number (HETU). Either ssn or custnum is required.","type":"string"},"custnum":{"description":"Customer number. Either ssn or custnum is required.","type":"string"},"all_invoices":{"description":"0 = open invoices only (default), 1 = all invoices including paid.","type":"integer"}},"type":"object"},"JobsByEndCustomerResponse":{"properties":{"jobs":{"description":"List of jobs","type":"array","items":{"$ref":"#/components/schemas/JobByEndCustomer"}}},"type":"object"},"JobByEndCustomer":{"properties":{"case_number":{"description":"Case number (internal job ID)","type":"integer"},"invoice_number":{"description":"Invoice number","type":"string"},"original_invoice_date":{"description":"Original invoice date (origjobdate)","type":"string"},"status":{"description":"Current status (invoicing, due, reminder, collection, paid)","type":"string"},"open_amount":{"description":"Open amount","type":"number","format":"float"},"group_job":{"description":"Whether this is a group job (0=no, 1=yes)","type":"integer"},"group_invoice_numbers":{"description":"Invoice numbers of sub-jobs in the group (only when group_job=1)","type":"array","items":{"type":"string"}},"group_total_payable":{"description":"Total payable amount for the group (only when group_job=1)","type":"number","format":"float"},"my_ropo_link":{"description":"Direct MyRopo link for this invoice","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/jobs/findbyendcustomer":{"post":{"tags":["jobs"],"summary":"Find open jobs by end customer SSN or customer number","operationId":"JobsFindByEndCustomerAction","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsByEndCustomerRequest"}}}},"responses":{"200":{"description":"Jobs found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsByEndCustomerResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Receiverproposal

Receiver Proposal

## POST /receiverproposal

> Add Receiver Proposals

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"receiverproposal","description":"Receiver Proposal"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ReceiverResponse":{"title":"ReceiverResponse","description":"ReceiverResponse","properties":{"result":{"description":"Result","type":"string"},"errors":{"description":"Result","type":"string"}},"type":"object"},"Error":{"title":"Error","description":"Error","properties":{"Code":{"type":"integer"},"Message":{"type":"string"}},"type":"object"}}},"paths":{"/receiverproposal":{"post":{"tags":["receiverproposal"],"summary":"Add Receiver Proposals","operationId":"addReceiverProposalAction","parameters":[{"name":"Encoding","in":"header","description":"Optional file encoding 'UTF-8' or 'ISO-8859-1'. Default encoding is 'iso-8859-1'","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"ReceiverProposal XML-string","required":true,"content":{"application/xml":{"schema":{"type":"string"}}}},"responses":{"201":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiverResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Usageplace

Usageplace events

## POST /usageplace/event

> API interface for delivering disconnection / reconnection events

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"usageplace","description":"Usageplace events"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"UsageplaceEvent":{"title":"UsageplaceEvent","description":"UsageplaceEvent","properties":{"id":{"description":"Unique id for the event","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"customernumber":{"description":"Customernumer","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/UEInvoice"}},"time":{"description":"Time of event","type":"string"},"status":{"description":"Type of event","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"},"UEInvoice":{"title":"UEInvoice","description":"Invoice","properties":{"jobid":{"description":"Ropo One jobid","type":"integer"},"invoicenumber":{"description":"Invoicenumber","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/usageplace/event":{"post":{"tags":["usageplace"],"summary":"API interface for delivering disconnection / reconnection events","operationId":"usageplaceEventAction","requestBody":{"description":"Details of the usageplace","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageplaceEvent"}}}},"responses":{"200":{"description":"Successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Productstock

Product stock

## GET /product/stock

> Get customer warehouse stock balance

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"productstock","description":"Product stock"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"ProductStockResponse":{"title":"ProductStockResponse","description":"ProductStockResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockResult"}}},"type":"object"},"ProductStockResult":{"title":"ProductStockResult","description":"ProductStockResult","properties":{"productgroups":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockGroup"}}},"type":"object"},"ProductStockGroup":{"title":"ProductStockGroup","description":"ProductStockGroup","properties":{"name":{"description":"Warehouse name","type":"string"},"totalamount":{"description":"Total amount of the stock item","type":"number"},"products":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockRow"}}},"type":"object"},"ProductStockRow":{"title":"ProductStockRow","description":"ProductStockRow","properties":{"productId":{"description":"Product id","type":"integer"},"name":{"description":"Product name","type":"string"},"code":{"description":"Product code","type":"string"},"amount":{"description":"Store value","type":"integer"},"count":{"description":"Store quantity","type":"integer"}},"type":"object"},"ProductStockError":{"title":"ProductStockError","description":"ProductStockError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}},"paths":{"/product/stock":{"get":{"tags":["productstock"],"summary":"Get customer warehouse stock balance","operationId":"productStockAction","responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductStockResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductStockError"}}}}}}}}}
```


# Onlinelink

Online link to MyRopo Job page

## GET /online/onlinelink

> Online link to MyRopo Job page

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"onlinelink","description":"Online link to MyRopo Job page"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"OnlineLinkResponse":{"title":"OnlineLinkResponse","description":"OnlineLinkResponse","properties":{"url":{"type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/online/onlinelink":{"get":{"tags":["onlinelink"],"summary":"Online link to MyRopo Job page","operationId":"sendOnlineLinkToJobAction","parameters":[{"name":"billnum","in":"query","description":"Billnumber of the job","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlineLinkResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Paylink

Paylink for online payments

## GET /online/paylink

> Get online payment link for a job

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"paylink","description":"Paylink for online payments"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"PaylinkResponse":{"title":"PaylinkResponse","description":"PaylinkResponse","properties":{"url":{"type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/online/paylink":{"get":{"tags":["paylink"],"summary":"Get online payment link for a job","operationId":"getOnlinePayLinkAction","parameters":[{"name":"billnum","in":"query","description":"Invoice number","required":true,"schema":{"type":"string"}},{"name":"callback_url","in":"query","description":"Callback URL to receive payment status updates","required":true,"schema":{"type":"string"}},{"name":"service","in":"query","description":"Payment service to use, e.g. 'tink', 'bank', etc.","required":false,"schema":{"type":"string"}},{"name":"language","in":"query","description":"Language for the payment link, defaults to system language","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaylinkResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}}}}}}}
```


# Telecomsubscription

Telecom subscription events

## POST /telecomsubscription/event

> API interface for delivering telecom subscription events

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"telecomsubscription","description":"Telecom subscription events"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"TelecomSubscriptionEvent":{"title":"TelecomSubscriptionEvent","description":"TelecomSubscriptionEvent","properties":{"status":{"description":"Type of event","type":"string"},"customernumber":{"description":"Customer number identifying the debtor","type":"string"},"time":{"description":"Time when the event occurred","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"},"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}},"paths":{"/telecomsubscription/event":{"post":{"tags":["telecomsubscription"],"summary":"API interface for delivering telecom subscription events","operationId":"telecomSubscriptionEventAction","requestBody":{"description":"Details of the telecom subscription event","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelecomSubscriptionEvent"}}}},"responses":{"200":{"description":"Successful operation"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpApiProblem"}}}},"401":{"description":"Unauthorized"}}}}}}
```


# Ropo One

{% openapi-webhook spec="ropo-one" name="Status notification service" method="post" %}
[ropo-one](https://rc.ropo24.fi/swagger/swagger-public.json)
{% endopenapi-webhook %}


# Models

## The AuthError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"AuthError":{"title":"AuthError","description":"AuthError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The AuthLogin object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"AuthLogin":{"title":"AuthLogin","description":"AuthLogin","required":["cid","apicode"],"properties":{"cid":{"description":"Customer number","type":"string"},"apicode":{"description":"Apicode","type":"string"}},"type":"object"}}}}
```

## The AuthToken object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"AuthToken":{"title":"AuthToken","description":"AuthToken","properties":{"token":{"type":"string"}},"type":"object"}}}}
```

## The ContractUpdateRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ContractUpdateRequest":{"title":"ContractUpdateRequest","description":"ContractUpdateRequest","properties":{"data":{"$ref":"#/components/schemas/JobContract"}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"}}}}
```

## The Control object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"Control":{"title":"Control","description":"Control","properties":{"controlId":{"type":"integer"},"govId":{"type":"string"},"startTime":{"type":"string"},"controlName":{"type":"string"},"statusCode":{"type":"string"},"statusText":{"type":"string"}},"type":"object"}}}}
```

## The ControlAddResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ControlAddResponse":{"title":"ControlAddResponse","description":"ControlAddResponse","properties":{"controlId":{"type":"integer"},"govId":{"type":"string"},"startTime":{"type":"string"},"controlName":{"type":"string"},"statusCode":{"type":"string"},"statusText":{"type":"string"}},"type":"object"}}}}
```

## The ControlError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ControlError":{"title":"ControlError","description":"ControlError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The ControlPdfDataResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ControlPdfDataResponse":{"title":"ControlPdfDataResponse","description":"ControlPdfDataResponse","properties":{"data":{"type":"string","format":"byte"}},"type":"object"}}}}
```

## The ControlReport object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ControlReport":{"title":"ControlReport","description":"ControlReport","properties":{"reportId":{"type":"integer"},"controlId":{"type":"integer"},"govId":{"type":"string"},"controlName":{"type":"string"},"datetime":{"type":"string"}},"type":"object"}}}}
```

## The ControlReportResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ControlReportResponse":{"title":"ControlReportResponse","description":"ControlReportResponse","properties":{"reportId":{"type":"integer"},"controlId":{"type":"integer"},"timestamp":{"type":"string"},"control_govid":{"type":"string"},"control_name":{"type":"string"},"control_rating":{"type":"string"},"control_paydex":{"type":"string"},"control_ratingdate":{"type":"string"},"control_scoringchange":{"type":"string"},"control_ratingchange":{"type":"string"},"control_namechange":{"type":"string"},"control_newpaymentfault":{"type":"string"},"control_newaccountingdetails":{"type":"string"},"control_companydel":{"type":"string"},"control_fusion":{"type":"string"},"control_epr":{"type":"string"},"control_prevrating":{"type":"string"},"control_duns":{"type":"string"},"control_receivinggovid":{"type":"string"},"control_score":{"type":"string"},"control_payment_code1":{"type":"string"},"control_payment_date1":{"type":"string"},"control_payment_amount1":{"type":"integer"},"control_payment_ref1":{"type":"string"},"control_payment_receiver1":{"type":"string"},"control_payment_code2":{"type":"string"},"control_payment_date2":{"type":"string"},"control_payment_amount2":{"type":"integer"},"control_payment_ref2":{"type":"string"},"control_payment_receiver2":{"type":"string"},"control_payment_code3":{"type":"string"},"control_payment_date3":{"type":"string"},"control_payment_amount3":{"type":"integer"},"control_payment_ref3":{"type":"string"},"control_payment_receiver3":{"type":"string"},"control_payment_code4":{"type":"string"},"control_payment_date4":{"type":"string"},"control_payment_amount4":{"type":"integer"},"control_payment_ref4":{"type":"string"},"control_payment_receiver4":{"type":"string"},"control_payment_code5":{"type":"string"},"control_payment_date5":{"type":"string"},"control_payment_amount5":{"type":"integer"},"control_payment_ref5":{"type":"string"},"control_payment_receiver5":{"type":"string"},"control_payment_code6":{"type":"string"},"control_payment_date6":{"type":"string"},"control_payment_amount6":{"type":"integer"},"control_payment_ref6":{"type":"string"},"control_payment_receiver6":{"type":"string"},"control_payment_code7":{"type":"string"},"control_payment_date7":{"type":"string"},"control_payment_amount7":{"type":"integer"},"control_payment_ref7":{"type":"string"},"control_payment_receiver7":{"type":"string"},"control_payment_code8":{"type":"string"},"control_payment_date8":{"type":"string"},"control_payment_amount8":{"type":"integer"},"control_payment_ref8":{"type":"string"},"control_payment_receiver8":{"type":"string"},"control_payment_code9":{"type":"string"},"control_payment_date9":{"type":"string"},"control_payment_amount9":{"type":"integer"},"control_payment_ref9":{"type":"string"},"control_payment_receiver9":{"type":"string"}},"type":"object"}}}}
```

## The CreateCustomerAdditionalInformation object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerAdditionalInformation":{"title":"AdditionalInformation","properties":{"profile_uuid":{"description":"Profile UUID","type":["string","null"]}},"type":"object"}}}}
```

## The CreateCustomerAgreementAcceptor object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerAgreementAcceptor":{"title":"AgreementAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"}}}}
```

## The CreateCustomerContactPerson object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerContactPerson":{"title":"ContactPerson","properties":{"name":{"description":"Name","type":["string","null"]},"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"}}}}
```

## The CreateCustomerServiceContact object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerServiceContact":{"title":"CustomerServiceContact","properties":{"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"}}}}
```

## The CreateCustomerMoneyLaunderingAcceptor object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerMoneyLaunderingAcceptor":{"title":"MoneyLaunderingAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"}}}}
```

## The CreateCustomerSettlementSettings object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerSettlementSettings":{"title":"SettlementSettings","properties":{"bank_account_type":{"description":"Bank account type","type":["integer","null"]},"bank_account_number":{"description":"Bank account number","type":["string","null"]},"bank_account_owner":{"description":"Bank account owner","type":["string","null"]},"reference_length":{"description":"Reference length (SE & NO only)","type":["integer","null"]}},"type":"object"}}}}
```

## The CreateCustomerUser object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateCustomerUser":{"title":"User","properties":{"first_name":{"description":"First name","type":["string","null"]},"last_name":{"description":"Last name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"nationality":{"description":"Nationality","type":["string","null"]},"phone_number":{"description":"Phone number","type":["string","null"]},"email":{"description":"Email","type":["string","null"]},"language":{"description":"Language","type":["string","null"]}},"type":"object"}}}}
```

## The CreateProfileRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateProfileRequest":{"title":"CreateProfileRequest","description":"Profile creation payload","properties":{"allowIncompleteData":{"description":"Whether incomplete data is allowed. When true and required fields are missing, the profile is stored for later completion instead of created.","type":["boolean","null"]},"customer_info":{"$ref":"#/components/schemas/CreateProfileCustomerInfo","description":"Customer (company) information"},"customer_service_contact":{"$ref":"#/components/schemas/CreateCustomerServiceContact","description":"Customer service contact information"},"contact_person":{"$ref":"#/components/schemas/CreateCustomerContactPerson","description":"Contact person"},"agreement_acceptor":{"$ref":"#/components/schemas/CreateCustomerAgreementAcceptor","description":"Agreement acceptor"},"money_laundering_acceptor":{"$ref":"#/components/schemas/CreateCustomerMoneyLaunderingAcceptor","description":"Money laundering acceptor"},"services":{"$ref":"#/components/schemas/CreateProfileServices","description":"Services information"},"settlement_settings":{"$ref":"#/components/schemas/CreateCustomerSettlementSettings","description":"Settlement settings"},"ropo_service_fees":{"$ref":"#/components/schemas/CreateProfileRopoServiceFees","description":"Ropo service fees"},"additional_information":{"$ref":"#/components/schemas/CreateCustomerAdditionalInformation","description":"Additional information"},"users":{"description":"Users","type":["array","null"],"items":{"$ref":"#/components/schemas/CreateCustomerUser"}}},"type":"object"},"CreateProfileCustomerInfo":{"title":"CreateProfileCustomerInfo","description":"Customer (company) information","properties":{"business_id":{"description":"Business ID / Personal identification number","type":["string","null"]},"name":{"description":"Name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"language":{"description":"Language","type":["string","null"]},"liable_to_pay_vat":{"description":"Is the customer liable to pay VAT","type":["boolean","null"]},"vat_number":{"description":"VAT number","type":["string","null"]},"customer_company_type":{"description":"Customer type","type":["integer","null"]}},"type":"object"},"CreateCustomerServiceContact":{"title":"CustomerServiceContact","properties":{"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerContactPerson":{"title":"ContactPerson","properties":{"name":{"description":"Name","type":["string","null"]},"telephone":{"description":"Telephone","type":["string","null"]},"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerAgreementAcceptor":{"title":"AgreementAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateCustomerMoneyLaunderingAcceptor":{"title":"MoneyLaunderingAcceptor","properties":{"email":{"description":"Email","type":["string","null"]}},"type":"object"},"CreateProfileServices":{"title":"Services","properties":{"service_types":{"description":"Service types to activate","type":"array","items":{"type":"integer"}}},"type":"object"},"CreateCustomerSettlementSettings":{"title":"SettlementSettings","properties":{"bank_account_type":{"description":"Bank account type","type":["integer","null"]},"bank_account_number":{"description":"Bank account number","type":["string","null"]},"bank_account_owner":{"description":"Bank account owner","type":["string","null"]},"reference_length":{"description":"Reference length (SE & NO only)","type":["integer","null"]}},"type":"object"},"CreateProfileRopoServiceFees":{"title":"RopoServiceFees","properties":{"invoicing_method":{"description":"Invoicing method (1=post, 2=email, 3=B2B e-invoice, 4=Peppol)","type":["integer","null"]},"invoicing_email_address":{"description":"Invoicing email address","type":["string","null"]}},"type":"object"},"CreateCustomerAdditionalInformation":{"title":"AdditionalInformation","properties":{"profile_uuid":{"description":"Profile UUID","type":["string","null"]}},"type":"object"},"CreateCustomerUser":{"title":"User","properties":{"first_name":{"description":"First name","type":["string","null"]},"last_name":{"description":"Last name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"nationality":{"description":"Nationality","type":["string","null"]},"phone_number":{"description":"Phone number","type":["string","null"]},"email":{"description":"Email","type":["string","null"]},"language":{"description":"Language","type":["string","null"]}},"type":"object"}}}}
```

## The CreateProfileCustomerInfo object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateProfileCustomerInfo":{"title":"CreateProfileCustomerInfo","description":"Customer (company) information","properties":{"business_id":{"description":"Business ID / Personal identification number","type":["string","null"]},"name":{"description":"Name","type":["string","null"]},"street_address":{"description":"Street address","type":["string","null"]},"postal_code":{"description":"Postal code","type":["string","null"]},"town_or_city":{"description":"Town or city","type":["string","null"]},"country":{"description":"Country","type":["string","null"]},"language":{"description":"Language","type":["string","null"]},"liable_to_pay_vat":{"description":"Is the customer liable to pay VAT","type":["boolean","null"]},"vat_number":{"description":"VAT number","type":["string","null"]},"customer_company_type":{"description":"Customer type","type":["integer","null"]}},"type":"object"}}}}
```

## The CreateProfileRopoServiceFees object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateProfileRopoServiceFees":{"title":"RopoServiceFees","properties":{"invoicing_method":{"description":"Invoicing method (1=post, 2=email, 3=B2B e-invoice, 4=Peppol)","type":["integer","null"]},"invoicing_email_address":{"description":"Invoicing email address","type":["string","null"]}},"type":"object"}}}}
```

## The CreateProfileServices object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreateProfileServices":{"title":"Services","properties":{"service_types":{"description":"Service types to activate","type":"array","items":{"type":"integer"}}},"type":"object"}}}}
```

## The CreditDecisionCustomer object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"}}}}
```

## The CreditDecisionError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionError":{"title":"CreditDecisionError","description":"CreditDecisionError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The CreditDecisionMetadata object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionMetadata":{"title":"CreditDecisionMetadata","description":"CreditDecisionMetadata","properties":{"next_cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionModel object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionProposal object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionReportData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionReportFactor object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionReportRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionReportRequest":{"title":"CreditDecisionReportRequest","description":"CreditDecisionReportRequest","required":["id"],"properties":{"id":{"description":"Valid sosial security number or business id","type":"string"},"limit":{"description":"Request item limit to be returned. Recommended values are 100 or 200, maximum is 1000.","type":"integer"},"dir":{"description":"Sort direction. Allowed values are 'ASC' or 'DESC'. ASC returns items from oldest to newest (default). DESC returns items from newest to oldest.","type":"string"},"cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionReportResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionReportResponse":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"$ref":"#/components/schemas/CreditDecisionReportData"}},"type":"object"},"CreditDecisionReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionSearchReportData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionSearchReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"}}}}
```

## The CreditDecisionSearchReportResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditDecisionSearchReportResponse":{"title":"CreditDecisionSearchReportResponse","description":"CreditDecisionSearchReportResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionSearchReportData"}},"metadata":{"oneOf":[{"$ref":"#/components/schemas/CreditDecisionMetadata"},{"type":"null"}]}},"type":"object"},"CreditDecisionSearchReportData":{"title":"CreditDecisionReportData","description":"CreditDecisionReportData","properties":{"timestamp":{"description":"Decision creation timestamp in ISO8601 format","type":"string"},"proposal":{"$ref":"#/components/schemas/CreditDecisionProposal"},"customer":{"$ref":"#/components/schemas/CreditDecisionCustomer"},"model":{"$ref":"#/components/schemas/CreditDecisionModel"}},"type":"object"},"CreditDecisionProposal":{"title":"CreditDecisionProposal","description":"CreditDecisionProposal","properties":{"code":{"description":"Decision code. 0 = No, 1 = Consider, 2 = Yes","type":"string"},"text":{"description":"Decision described in text","type":"string"},"factor":{"type":"array","items":{"$ref":"#/components/schemas/CreditDecisionReportFactor"}}},"type":"object"},"CreditDecisionReportFactor":{"title":"CreditDecisionReportResponse","description":"CreditDecisionReportResponse","properties":{"code":{"description":"Factor code","type":"string"},"text":{"description":"Factor described in text.","type":"string"}},"type":"object"},"CreditDecisionCustomer":{"title":"CreditDecisionCustomer","description":"CreditDecisionCustomer","properties":{"name":{"description":"Customer name","type":["string","null"]},"businessid":{"description":"Company businessid","type":["string","null"]},"ssn":{"description":"Person sosial security number","type":["string","null"]}},"type":"object"},"CreditDecisionModel":{"title":"CreditDecisionModel","description":"CreditDecisionModel","properties":{"name":{"description":"Model name","type":"string"},"code":{"description":"Model code","type":"string"}},"type":"object"},"CreditDecisionMetadata":{"title":"CreditDecisionMetadata","description":"CreditDecisionMetadata","properties":{"next_cursor":{"description":"Cursor for pagination to identify edge for next page. This value is provided in the 'response_metadata' object 'next_cursor' property.","type":"string"}},"type":"object"}}}}
```

## The CreditInfoCreatedResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoCreatedResponse":{"title":"CreditInfoCreatedResponse","description":"CreditInfoCreatedResponse","properties":{"id":{"type":"integer"}},"type":"object"}}}}
```

## The CreditInfoCreditRatingResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoCreditRatingResponse":{"title":"CreditInfoCreditRatingResponse","description":"CreditInfoCreditRatingResponse","properties":{"creditrating":{"type":"string"}},"type":"object"}}}}
```

## The CreditInfoError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoError":{"title":"CreditInfoError","description":"CreditInfoError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The CreditInfoPdfDataResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoPdfDataResponse":{"title":"CreditInfoPdfDataResponse","description":"CreditInfoPdfDataResponse","properties":{"data":{"type":"string","format":"byte"}},"type":"object"}}}}
```

## The CreditInfoRatingResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoRatingResponse":{"title":"CreditInfoRatingResponse","description":"CreditInfoRatingResponse","properties":{"rating":{"type":"string"},"riskclass":{"type":"integer"}},"type":"object"}}}}
```

## The CreditInfoReport object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoReport":{"title":"CreditInfoReport","description":"CreditInfoReport","properties":{"id":{"type":"integer"},"name":{"type":"string"},"govid":{"type":"string"},"querytype":{"type":"string"},"queryname":{"type":"string"},"datetime":{"type":"string"},"whodid":{"type":"string"}},"type":"object"}}}}
```

## The CreditInfoRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"CreditInfoRequest":{"title":"CreditInfoRequest","description":"CreditInfoRequest","required":["govid","creditinfo_reason","creditinfo_status"],"properties":{"govid":{"description":"Business Id or Social security number","type":"string"},"creditinfo_reason":{"description":"Reason for query","type":"string","enum":["1","2","3","4","5","6","7","8","9","A","B","C"]},"creditinfo_status":{"description":"Type of report","type":"string","enum":["krbasic","krplus","krplus2","credit","creditcplus","rating"]},"querier_name":{"description":"Querier name","type":"string"},"querier_ssn":{"description":"Querier sosial security number","type":"string"}},"type":"object"}}}}
```

## The IncompleteCustomerResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"IncompleteCustomerResult":{"title":"IncompleteCustomerResult","description":"Response object for incomplete customer creation operations","properties":{"uuid":{"description":"Unique identifier for the incomplete customer record","type":["string","null"]},"status":{"description":"HTTP status code or operation status","type":["string","null"]},"message":{"description":"Human-readable message describing the result","type":["string","null"]},"wizard_url":{"description":"Ropo One URL where to continue the onboarding process","type":["string","null"]}},"type":"object"}}}}
```

## The NewCustomerResultRest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"NewCustomerResultRest":{"title":"NewCustomerResultRest","description":"NewCustomerResultRest","properties":{"customerId":{"description":"Customer ID of the newly created customer","type":["string","null"]},"message":{"description":"Message regarding the creation result","type":["string","null"]},"status":{"description":"Status of the customer creation process","type":["string","null"]}},"type":"object"}}}}
```

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"Error":{"title":"Error","description":"Error","properties":{"Code":{"type":"integer"},"Message":{"type":"string"}},"type":"object"}}}}
```

## The HttpApiProblem object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"HttpApiProblem":{"title":"HttpApiProblem","description":"HttpApiProblem","properties":{"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem","type":["integer","null"]},"type":{"description":"A URI reference that identifies the problem type","type":["string","null"]},"title":{"description":"A short, human-readable summary of the problem type","type":["string","null"]},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem","type":["string","null"]},"errors":{"description":"An array of individual problems that caused this occurrence.","type":["array","null"],"items":{"$ref":"#/components/schemas/HttpApiProblemErrorDetail"}}},"type":"object"},"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}}}
```

## The HttpApiProblemErrorDetail object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"HttpApiProblemErrorDetail":{"title":"HttpApiProblemErrorDetail","description":"HttpApiProblemErrorDetail","properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"pointer":{"description":"A JSON Pointer to the value in the request document that caused the problem.","type":["string","null"]}},"type":"object"}}}}
```

## The IbanCalculatorError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"IbanCalculatorError":{"title":"IbanCalculatorError","description":"IbanCalculatorError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The IbanCalculatorResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"IbanCalculatorResponse":{"title":"IbanCalculatorResponse","description":"IbanCalculatorResponse","properties":{"iban":{"type":"string"},"bic":{"type":"string"}},"type":"object"}}}}
```

## The Job object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"Job":{"title":"Job","description":"Job","properties":{"datastream":{"$ref":"#/components/schemas/JobDataStream"}},"type":"object"},"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"}}}}
```

## The JobAccountRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"}}}}
```

## The JobAddAddress object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"}}}}
```

## The JobAddCreditNote object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAddCreditNote":{"title":"JobAddCreditNote","description":"JobAddCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"date":{"description":"Date","type":"string"},"type":{"description":"Credit note type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of credit note","type":"string"}},"type":"object"}}}}
```

## The JobAddCreditNoteResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAddCreditNoteResponse":{"title":"JobAddCreditNoteResponse","description":"JobAddCreditNoteResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"date":{"description":"Date of credit note","type":"string"},"amount":{"description":"Amount of credit note","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 8 : IGNORE, 10 : NOT FOUND, 11 : CANCELLED, 12 = OLD CANCEL.","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}}}
```

## The JobAddPayment object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAddPayment":{"title":"JobAddPayment","description":"JobAddPayment","required":["amount","paydate"],"properties":{"amount":{"description":"Amount of payment","type":"number"},"billcode":{"description":"Reference of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"billnum":{"description":"Billnum of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"string"},"jobid":{"description":"Id of job. One of these required: 1.billcode, 2.jobid, 3. billnum (search order)","type":"integer"},"paydate":{"description":"Date of payment","type":"string"},"identifier":{"description":"Payment targeting identifier","type":"string"},"type":{"description":"Payment type","type":"string"},"creditnotebillnum":{"description":"Credit note invoice number","type":"string"},"description":{"description":"Description of payment","type":"string"}},"type":"object"}}}}
```

## The JobAddPaymentResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAddPaymentResponse":{"title":"JobAddPaymentResponse","description":"JobAddPaymentResponse","properties":{"jobid":{"description":"Id of job","type":"integer"},"billnum":{"description":"Billnum of job","type":"string"},"billcode":{"description":"Reference of job","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"amount":{"description":"Amount of payment","type":"number"},"capitalbefore":{"description":"Open capital before payment","type":"number"},"capitalafter":{"description":"Open capital after payment","type":"number"},"focusedtocapital":{"description":"Amount focused to opencapital","type":"number"},"interestbefore":{"description":"Amount before to interest","type":"number"},"interestafter":{"description":"Amount after to interest","type":"number"},"focusedtointerest":{"description":"Amount focused to interest","type":"number"},"noticefeebefore":{"description":"Amount after to customer notice fee","type":"number"},"noticefeeafter":{"description":"Amount before to customer notice fee","type":"number"},"focusedtonoticefee":{"description":"Amount focused to customer notice fee","type":"number"},"unfocused":{"description":"Unfocused amount","type":"number"},"statusid":{"description":"0 : UNDONE, 1 : FAIL, 2 : OLD, 3 : ROPO, 4 : ROPO Refund, 5 : CLOSE, 6 : OHISPAY, 8 : IGNORE, 9 : DIFFCID, 10 : NOT FOUND, 11 : CANCELLED. Only with value 6 Http-Responsecode is 201 other 400","type":"number"},"statustext":{"description":"additional information","type":"number"}},"type":"object"}}}}
```

## The JobAllocated object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"}}}}
```

## The JobAllowance object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"}}}}
```

## The JobAttachment object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"}}}}
```

## The JobBankInfo object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"}}}}
```

## The JobBreakdown object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobBreakdown":{"title":"JobBreakdown","description":"JobBreakdown","properties":{"billnum":{"description":"Laskunnumero","type":"string"},"origpaydate":{"description":"Original paydate","type":"string"},"capital":{"description":"Total amount of original capital","type":"number"},"interest":{"description":"Total amount of interests","type":"number"},"expenses":{"description":"Total amount of expenses","type":"number"},"netamount":{"description":"Total amount of open capital without VAT","type":"number"},"opencapital":{"description":"Total amount of open capital","type":"number"},"title":{"description":"Breakdown title","type":"string"},"vatamount":{"description":"Total VAT amount of open capital","type":"number"},"subtaskids":{"description":"IDs of subtasks","type":"string"},"subtasks":{"type":"array","items":{"$ref":"#/components/schemas/JobBreakdown"}},"creditnotes":{"oneOf":[{"$ref":"#/components/schemas/JobCreditNotes","description":"List of end customers unallocated credit notes"},{"type":"null"}],"description":"List of end customers unallocated credit notes"},"opencapitalwithoutcreditnotes":{"description":"Total amount of open capital without credit note allocations.","type":"number"},"overdueinterest":{"description":"Overdueinterestpercentage","type":"number"},"totalamount":{"description":"Total amount","type":["number","null"]}},"type":"object"},"JobCreditNotes":{"title":"JobCreditNotes","description":"JobCreditNotes","properties":{"creditnote":{"description":"List of credit invoices / notes","type":"array","items":{"$ref":"#/components/schemas/JobCreditNote"}}},"type":"object"},"JobCreditNote":{"title":"JobCreditNote","description":"JobCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"billdate":{"description":"Date","type":"string"},"duedate":{"description":"Date","type":"string"},"allocated":{"description":"Allocated amount of credit note","type":"number"},"unallocated":{"description":"Unallocated amount of credit note","type":"number"},"job_allocated":{"type":"array","items":{"$ref":"#/components/schemas/JobAllocated"}}},"type":"object"},"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"}}}}
```

## The JobCashDiscountRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"}}}}
```

## The JobClassification object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"}}}}
```

## The JobContract object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"}}}}
```

## The JobCreditNote object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobCreditNote":{"title":"JobCreditNote","description":"JobCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"billdate":{"description":"Date","type":"string"},"duedate":{"description":"Date","type":"string"},"allocated":{"description":"Allocated amount of credit note","type":"number"},"unallocated":{"description":"Unallocated amount of credit note","type":"number"},"job_allocated":{"type":"array","items":{"$ref":"#/components/schemas/JobAllocated"}}},"type":"object"},"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"}}}}
```

## The JobCreditNotes object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobCreditNotes":{"title":"JobCreditNotes","description":"JobCreditNotes","properties":{"creditnote":{"description":"List of credit invoices / notes","type":"array","items":{"$ref":"#/components/schemas/JobCreditNote"}}},"type":"object"},"JobCreditNote":{"title":"JobCreditNote","description":"JobCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"billdate":{"description":"Date","type":"string"},"duedate":{"description":"Date","type":"string"},"allocated":{"description":"Allocated amount of credit note","type":"number"},"unallocated":{"description":"Unallocated amount of credit note","type":"number"},"job_allocated":{"type":"array","items":{"$ref":"#/components/schemas/JobAllocated"}}},"type":"object"},"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"}}}}
```

## The JobCurrency object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"}}}}
```

## The JobDataSet object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"}}}}
```

## The JobDataStream object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDataStream":{"title":"JobDataStream","description":"JobDataStream","properties":{"debug":{"description":"Testing of the interface, true=on","type":["string","null"]},"noreport":{"description":"Blocks the sending of a transmission emailreport of the assignment, true=on","type":["string","null"]},"operator":{"description":"Operators ID","type":["string","null"]},"origname":{"description":"Original name of the data file. Optional.","type":["string","null"]},"transferkey":{"description":"Transfer key to validate transfer.","type":["string","null"]},"fileid":{"description":"Filekey identifying content file.","type":["string","null"]},"batchid":{"description":"Batch identification.","type":["string","null"]},"dataset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobDataSet":{"title":"JobDataSet","description":"JobDataSet","required":["jobtype","address","city","customertype"],"properties":{"accountdate":{"description":"Account date","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":["string","null"]},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and the street address","type":["string","null"]},"addresscountry":{"description":"The home country of the recipient","type":["string","null"]},"advancepayment":{"description":"Amount of advancepayment","type":["number","null"]},"amount":{"description":"Total amount of the bill","type":["number","null"]},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":["string","null"]},"billdate":{"description":"The date of the bill","type":["string","null"],"format":"date"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":["string","null"]},"billtemplate":{"description":"The layout design of the bill template: CUSTOM, ECOM, BOBCAT, INC","type":["string","null"]},"billtemplateid":{"description":"The layout id of the bill template.","type":["integer","null"]},"cashbill":{"description":"A cash bill is marked as paid directly: 1=cash bill","type":["integer","null"]},"checkbillnum":{"description":"Check if the bill number is unique 1=on, 0=off","type":["integer","null"]},"city":{"description":"The mailing location of the debtor","type":"string"},"claimtext":{"description":"Reason for Recall and Recourse.","type":["string","null"]},"collectionprocess":{"description":"Type of receivable. Influences the collection process","type":["string","null"]},"color":{"description":"1=color, 0=black and white","type":["integer","null"]},"collectioninvoice":{"description":"1=Collection invoice, 0=Single invoice","type":["integer","null"]},"company":{"description":"Name of the corporate customer","type":"string"},"contactperson":{"description":"Contact person","type":["string","null"]},"contactpersontitle":{"description":"Contact person title","type":["string","null"]},"contactpersondepartment":{"description":"Contact person department","type":["string","null"]},"country":{"description":"Country where the corporate customer is registered","type":["string","null"]},"countryname":{"description":"Recipients country name","type":["string","null"]},"currency":{"description":"Currency of job","type":["string","null"]},"custnum":{"description":"The customer number of the customer in the principals system","type":["string","null"]},"customerid":{"description":"The customer number of the customer in Ropo One","type":["integer","null"]},"customertype":{"description":"Type of customer: 1=company, 2=natural person","type":"integer"},"deliverydate":{"description":"Products delivery date on invoice or cover note.","type":["string","null"],"format":"date"},"deliverymethod":{"description":"Products delivery method as text.","type":["string","null"]},"deliveryterm":{"description":"Terms of delivery as text.","type":["string","null"]},"department":{"description":"Recipients department","type":["string","null"]},"doublesided":{"description":"0=singleside(default), 1=use doublesided bill","type":["integer","null"]},"email":{"description":"The e-mail address to which the bill is sent","type":["string","null"]},"email2":{"description":"The second e-mail address to which the bill is sent","type":["string","null"]},"evoice":{"description":"Finnish e-invoice address","type":["string","null"]},"evoiceint":{"description":"The code of the intermediary in the e-invoice","type":["string","null"]},"finance":{"description":"1 = if funding applied from Ropo Finance.","type":["integer","null"]},"foreignamount":{"description":"Total amount of the bill in its original currency.","type":["number","null"]},"foreigncurrency":{"description":"TotalIdentifier of the currency used in the bill.","type":["string","null"]},"freetext":{"description":"Free text field at the end of the bill","type":["string","null"]},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":["string","null"]},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"integer"},"language":{"description":"Language of the bill: eng, fin, swe, est","type":["string","null"]},"model":{"description":"Make, cost centre in the customers accounting or other reference","type":["string","null"]},"negvat":{"description":"1, if reverse VAT liability is used in the bill","type":["integer","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":["number","null"]},"noticedate":{"description":"Date of the first payment notice.","type":["string","null"],"format":"date"},"noticedate2":{"description":"Date of the second payment notice.","type":["string","null"],"format":"date"},"noticedate3":{"description":"Date of the third payment notice.","type":["string","null"],"format":"date"},"noticedate4":{"description":"Date of the fourth payment notice.","type":["string","null"],"format":"date"},"noticefee":{"description":"Principals notice costs.","type":["number","null"]},"ordernumber":{"description":"Order number","type":["integer","null"]},"ourcode":{"description":"The principals reference","type":["string","null"]},"overdueinterest":{"description":"Delay interest rate","type":["number","null"]},"ovt":{"description":"OrganisationUnitNumber of recipient","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":["string","null"]},"origbillnum":{"description":"Billnumber of collection invoices. Compulsory when invoice is sub invoice jobtype = 602.","type":["string","null"]},"paydate":{"description":"The due date of the bill","type":["string","null"],"format":"date"},"payplanamount":{"description":"Amount of one instalment in a payment schedule in euros.","type":["number","null"]},"payplancount":{"description":"The number of instalments in a payment schedule.","type":["integer","null"]},"payplaninterval":{"description":"Interval between instalments of the payment schedule in months.","type":["integer","null"]},"payplan":{"$ref":"#/components/schemas/JobPayplan"},"pdfname":{"description":"Predefined filename. This value is returned in preview and localprint responseheader","type":["string","null"]},"period":{"description":"The date when the bill is recorded in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"person":{"description":"The name of the consumer client","type":["string","null"]},"phone":{"description":"The phone number of the customer/buyer/debtor","type":["string","null"]},"postclass":{"description":"Class of the letter in the post: 1 or 2","type":"integer"},"postcode":{"description":"The postal code of the customer","type":["string","null"]},"putonhold":{"description":"Should jobstatus be changed to 100: 1 = yes, 0 = no","type":["integer","null"]},"refundtobillnum":{"description":"Bill number of the principal to which the credit note is allocated.","type":["string","null"]},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":["integer","null"]},"refundiban":{"description":"Account number where credit note is payed","type":["string","null"]},"refundmessage":{"description":"Message for payment of credit note","type":["string","null"]},"refundmessagetype":{"description":"Messagetype for payment of credit note: 1=Using reference, 3=Using message","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":["string","null"]},"secondarysendtype":{"type":"array","items":{"$ref":"#/components/schemas/JobSendtype"}},"sensible":{"description":"Is a payment notice sent automatically: 1=no, 0=yes","type":["integer","null"]},"servicecode":{"description":"Cost center id","type":["string","null"]},"servicecode_name":{"description":"Cost center Name","type":["string","null"]},"servicecode_dimension":{"description":"Cost center code","type":["string","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"totalamount":{"description":"Total bill amount including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":["number","null"]},"vatlayout":{"description":"VAT layout at invoice lines when only one is shown. 0 = Without VAT 1 = VAT included","type":["integer","null"]},"vatid":{"description":"The VAT ID of the customer","type":["string","null"]},"vatperiod":{"description":"The date on which VAT is applied in the principals accounting. Contact our customer service before using this!","type":["string","null"],"format":"date"},"voucherbatch":{"description":"Voucher batch","type":["string","null"]},"vouchernum":{"description":"Voucher number","type":["string","null"]},"yourcode":{"description":"Reference of the buyer","type":["string","null"]},"addaddress":{"type":"array","items":{"$ref":"#/components/schemas/JobAddAddress"}},"accountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobAccountRow"}},"advancepayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"attachment":{"type":"array","items":{"$ref":"#/components/schemas/JobAttachment"}},"cashdiscountrow":{"type":"array","items":{"$ref":"#/components/schemas/JobCashDiscountRow"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/JobContract"}},"originalcurrency":{"type":"array","items":{"$ref":"#/components/schemas/JobCurrency"}},"definitiondetails":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"image":{"oneOf":[{"$ref":"#/components/schemas/JobImage"},{"type":"null"}]},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"packagedetails":{"oneOf":[{"$ref":"#/components/schemas/JobPackageDetails"},{"type":"null"}]},"payee":{"oneOf":[{"$ref":"#/components/schemas/JobPayee"},{"type":"null"}]},"payrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPayRow"}},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"marks":{"type":"array","items":{"$ref":"#/components/schemas/JobMarks"}},"taxrow":{"type":"array","items":{"$ref":"#/components/schemas/JobTaxRow"}},"xmldetailsrow":{"type":"array","items":{"$ref":"#/components/schemas/JobXmlDetailsRow"}},"usageplaces":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlace"}},"freetexts":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"originalinvoicereferences":{"description":"Refer to previous invoices (e.g. instalments)","type":"array","items":{"$ref":"#/components/schemas/JobOriginalInvoiceReference"}},"partialpayments":{"type":"array","items":{"$ref":"#/components/schemas/JobPartialPayment"}},"interestrates":{"type":"array","items":{"$ref":"#/components/schemas/JobInterestRate"}},"classification":{"$ref":"#/components/schemas/JobClassification"},"sendparameters":{"$ref":"#/components/schemas/JobSendParameters"},"avtalegiro":{"description":"Used to determine that invoice is Avtalegiro type","type":["string","null"]},"autogiro":{"description":"Used to determine that invoice is Autogiro type","type":["string","null"]},"subset":{"type":"array","items":{"$ref":"#/components/schemas/JobDataSet"}}},"type":"object"},"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"},"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobAccountRow":{"title":"JobAccountRow","description":"JobAccountRow","required":["accountid","vatamount","netamount"],"properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":"integer"},"credit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"debit":{"description":"Accounting for the sales bill for the principals accounting","type":["number","null"]},"desc":{"description":"Explanation of the export line in the accounting of the sales bill","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"servicecode_name":{"description":"Cost centter name","type":["string","null"]},"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"type":{"description":"Business type","type":["string","null"]},"type2":{"description":"Project number","type":["string","null"]},"type3":{"description":"Responsible unit","type":["string","null"]},"type4":{"description":"Business area number","type":["string","null"]},"type5":{"description":"Dimension data 5","type":["string","null"]},"type6":{"description":"Dimension data 6","type":["string","null"]},"type7":{"description":"Dimension data 7","type":["string","null"]},"type8":{"description":"Dimension data 8","type":["string","null"]},"type9":{"description":"Dimension data 9","type":["string","null"]},"type10":{"description":"Dimension data 10","type":["string","null"]},"kwh":{"description":"kWh","type":["number","null"]},"voucherbatch":{"description":"The voucher batch number in the principal's accounting.","type":["string","null"]},"batch":{"description":"The batch of accounting.","type":["string","null"]},"vatcode":{"description":"VAT code from Finvoice. 0 = tax free sale, 1 = with tax sale, 2 = tax free buy, 3 = with tax buy","type":["integer","null"]}},"type":"object"},"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"},"JobAttachment":{"title":"JobAttachment","description":"JobAttachment","properties":{"attachmentid":{"description":"Preloaded attachment from Ropo One","type":["integer","null"]},"attachmentfile":{"description":"Base64 encoded file","type":["string","null"]},"attachmentname":{"description":"Name of attachment","type":["string","null"]},"securityclass":{"description":"Security class of attachment.","type":["string","null"]},"type":{"description":"Type of attachment. default = regular attachment, station = station insert, letter = payment control letter attachment, cover = attachment pdf use as cover page when printed to envelope","type":["string","null"]},"jobid":{"description":"Jobid of attachement","type":["integer","null"]}},"type":"object"},"JobCashDiscountRow":{"title":"JobCashDiscountRow","description":"JobCashDiscountRow","required":["discountamount","discountdate","discountpercent"],"properties":{"discountamount":{"description":"The amount of cashiers discount in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountbaseamount":{"description":"Base amount for discount calculation in euros (Finland) or Swedish kronor (Sweden)","type":"number"},"discountdate":{"description":"The last date of validity of the cashiers discount","type":"string","format":"date"},"discountpercent":{"description":"Percentage of the cashiers discount of the bill amount including VAT","type":"number"},"discountfreetext":{"description":"Text displayed on the bill received by the customer to notify the customer of the cashiers discount.","type":["string","null"]}},"type":"object"},"JobContract":{"title":"JobContract","description":"JobContract","required":["contract_no"],"properties":{"contract_no":{"description":"Contract number","type":"string"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]}},"type":"object"},"JobCurrency":{"title":"JobEnergyContract","description":"Jobs currency will be used currency balance calculations","properties":{"source":{"description":"Source of currency. Job = when job is created, payment = when payment has arrived","type":"string"},"currency":{"description":"Original currency","type":"string"},"rate":{"description":"Rate of currency","type":"number"},"amount":{"description":"Original amount in target currency","type":"number"},"currency_date":{"description":"Date of currency.","type":["string","null"]}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"},"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"},"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"},"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"},"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"},"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"},"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"},"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"},"JobClassification":{"title":"JobClassification","description":"JobClassification","properties":{"documenttype":{"description":"Type of the document","type":["string","null"]}},"type":"object"},"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"}}}}
```

## The JobDefinitions object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"}}}}
```

## The JobDeliveryStatusRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDeliveryStatusRequest":{"title":"JobDeliveryStatusRequest","description":"JobDeliveryStatusRequest","properties":{"created_at":{"type":"string"},"id":{"type":"string"},"service":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobDeliveryStatusRequestData"}}},"type":"object"},"JobDeliveryStatusRequestData":{"title":"JobDeliveryStatusRequestData","description":"JobDeliveryStatusRequestData","properties":{"reporterid":{"type":"string"},"documentid":{"type":"string"},"status":{"type":"string"},"statustime":{"type":"string"},"description":{"type":"string"}},"type":"object"}}}}
```

## The JobDeliveryStatusRequestData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDeliveryStatusRequestData":{"title":"JobDeliveryStatusRequestData","description":"JobDeliveryStatusRequestData","properties":{"reporterid":{"type":"string"},"documentid":{"type":"string"},"status":{"type":"string"},"statustime":{"type":"string"},"description":{"type":"string"}},"type":"object"}}}}
```

## The JobDisputeRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisputeRequest":{"title":"JobDisputeRequest","description":"JobDisputeRequest","properties":{"data":{"$ref":"#/components/schemas/JobDisputeRequestData"}},"type":"object"},"JobDisputeRequestData":{"title":"JobDisputeRequestData","description":"JobDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"}}}}
```

## The JobDisputeRequestData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisputeRequestData":{"title":"JobDisputeRequestData","description":"JobDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"}}}}
```

## The JobDisputeResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisputeResponse":{"title":"JobDisputeResponse","description":"JobDisputeResponse","properties":{"created_at":{"description":"Timestamp of the response.","type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobDisputeResponseData"}}},"type":"object"},"JobDisputeResponseData":{"title":"JobDisputeResponseData","description":"JobDisputeResponseData","properties":{"updated_at":{"description":"Timestamp when the dispute was succesfully made.","type":"string"},"jobid":{"description":"ID of the disputed job.","type":"integer"},"billnum":{"description":"Billnum of the disputed job.","type":"string"},"status":{"description":"Success status of the dispute request.","type":"boolean"},"statustext":{"description":"Status text of the dispute request.","type":"string"}},"type":"object"}}}}
```

## The JobDisputeResponseData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisputeResponseData":{"title":"JobDisputeResponseData","description":"JobDisputeResponseData","properties":{"updated_at":{"description":"Timestamp when the dispute was succesfully made.","type":"string"},"jobid":{"description":"ID of the disputed job.","type":"integer"},"billnum":{"description":"Billnum of the disputed job.","type":"string"},"status":{"description":"Success status of the dispute request.","type":"boolean"},"statustext":{"description":"Status text of the dispute request.","type":"string"}},"type":"object"}}}}
```

## The JobEnergyContract object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"}}}}
```

## The JobFreetext object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"}}}}
```

## The JobImage object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobImage":{"title":"JobImage","description":"JobImage","required":["file"],"properties":{"file":{"description":"Base64 encoded pdf-file","type":"string"},"pagecount":{"description":"number of pages in the pdf-file","type":["integer","null"]},"fileType":{"description":"Attachment file type","type":["string","null"]}},"type":"object"}}}}
```

## The JobInstalment object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"}}}}
```

## The JobInterestRate object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobInterestRate":{"title":"JobInterestRate","description":"JobInterestRate","properties":{"interest_type":{"description":"Type of the interest added (overdueinterest, creditinterest etc.)","type":"string"},"annual_rate":{"description":"Annual interest rate","type":"number"},"real_annual_rate":{"description":"Real annual interest rate","type":"number"},"start_from_date":{"description":"The first day the interest is effective","type":"string","format":"date"},"end_at_date":{"description":"The last day the interest is effective","type":["string","null"],"format":"date"}},"type":"object"}}}}
```

## The JobInvoicerowAddress object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"}}}}
```

## The JobInvoicerowOverDue object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"}}}}
```

## The JobJobInfo object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobJobInfo":{"title":"JobJobInfo","description":"JobJobInfo","properties":{"accountdate":{"description":"The date job was added","type":["string","null"],"format":"date"},"address":{"description":"The street address of the recipient","type":"string"},"addressaddline1":{"description":"The first additional line of the address card, printed above the name of the recipient","type":"string"},"addressaddline2":{"description":"The second additional line of the address card, printed between the name and the street address","type":"string"},"billcode":{"description":"Reference number or message, by which the payment is delivered to the biller","type":"string"},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"city":{"description":"The mailing location of the debtor","type":"string"},"company":{"description":"Name of the corporate customer","type":"string"},"country":{"description":"Country where the corporate customer is registered","type":"string"},"currentpaydate":{"description":"Current paydate","type":"string"},"currentstatus":{"description":"Current status","type":"integer"},"currentstatustext":{"description":"Current statustext","type":"string"},"custnum":{"description":"The customer number of the customer in the principals system","type":"string"},"govid":{"description":"The business ID (Y-tunnus) or personal identity code of the customer","type":"string"},"jobid":{"description":"Job id","type":"integer"},"nextstatus":{"description":"Next status (-1 if next status is not available)","type":"integer"},"nextstatusdate":{"description":"Date when next status occurs","type":"string"},"nextstatustext":{"description":"Next status text","type":"string"},"origjobdate":{"description":"Date when job was originally received","type":"string"},"origjobtext":{"description":"Original status text","type":"string"},"origjobtype":{"description":"Jobtype when job was originally received","type":"integer"},"paydate":{"description":"Original duedate of the bill","type":"string"},"person":{"description":"The name of the consumer client","type":"string"},"postcode":{"description":"The postal code of the customer","type":"string"},"reference":{"description":"Reference number or message, by which the payment is delivered to the biller","type":"string"},"refundtojobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":"integer"},"vatid":{"description":"The VAT ID of the customer","type":"string"},"breakdown":{"type":"array","items":{"$ref":"#/components/schemas/JobBreakdown"}},"payment":{"type":"array","items":{"$ref":"#/components/schemas/JobPayment"}},"refund":{"type":"array","items":{"$ref":"#/components/schemas/JobRefund"}},"status":{"type":"array","items":{"$ref":"#/components/schemas/JobStatus"}}},"type":"object"},"JobBreakdown":{"title":"JobBreakdown","description":"JobBreakdown","properties":{"billnum":{"description":"Laskunnumero","type":"string"},"origpaydate":{"description":"Original paydate","type":"string"},"capital":{"description":"Total amount of original capital","type":"number"},"interest":{"description":"Total amount of interests","type":"number"},"expenses":{"description":"Total amount of expenses","type":"number"},"netamount":{"description":"Total amount of open capital without VAT","type":"number"},"opencapital":{"description":"Total amount of open capital","type":"number"},"title":{"description":"Breakdown title","type":"string"},"vatamount":{"description":"Total VAT amount of open capital","type":"number"},"subtaskids":{"description":"IDs of subtasks","type":"string"},"subtasks":{"type":"array","items":{"$ref":"#/components/schemas/JobBreakdown"}},"creditnotes":{"oneOf":[{"$ref":"#/components/schemas/JobCreditNotes","description":"List of end customers unallocated credit notes"},{"type":"null"}],"description":"List of end customers unallocated credit notes"},"opencapitalwithoutcreditnotes":{"description":"Total amount of open capital without credit note allocations.","type":"number"},"overdueinterest":{"description":"Overdueinterestpercentage","type":"number"},"totalamount":{"description":"Total amount","type":["number","null"]}},"type":"object"},"JobCreditNotes":{"title":"JobCreditNotes","description":"JobCreditNotes","properties":{"creditnote":{"description":"List of credit invoices / notes","type":"array","items":{"$ref":"#/components/schemas/JobCreditNote"}}},"type":"object"},"JobCreditNote":{"title":"JobCreditNote","description":"JobCreditNote","required":["amount","date"],"properties":{"amount":{"description":"Amount of credit note","type":"number"},"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"billdate":{"description":"Date","type":"string"},"duedate":{"description":"Date","type":"string"},"allocated":{"description":"Allocated amount of credit note","type":"number"},"unallocated":{"description":"Unallocated amount of credit note","type":"number"},"job_allocated":{"type":"array","items":{"$ref":"#/components/schemas/JobAllocated"}}},"type":"object"},"JobAllocated":{"title":"JobAllocated","description":"JobAllocated","required":["allocated","billnum","jobid"],"properties":{"billnum":{"description":"Bill number of job.","type":"string"},"jobid":{"description":"Id of job.","type":"integer"},"allocated":{"description":"Allocated amount of credit note","type":"number"}},"type":"object"},"JobPayment":{"title":"JobPayment","description":"JobPayment","properties":{"amount":{"description":"Amount of payment","type":"number"},"desc":{"description":"Visible description to customer","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"rowtype":{"description":"Type of row","type":"integer"},"rowtypetext":{"description":"Description of rowtype in text","type":"string"},"returndesc":{"description":"Type of returndesc","type":"integer"},"returndesctext":{"description":"Description of returndesc in text","type":"string"},"rowtime":{"description":"Timestamp of rowinsert","type":"string"},"statusid":{"description":"Id of payment","type":"integer"}},"type":"object"},"JobRefund":{"title":"JobRefund","description":"JobRefund","properties":{"amount":{"description":"Amount of refund","type":"number"},"date":{"description":"Date of refund","type":"string"},"jobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":"integer"}},"type":"object"},"JobStatus":{"title":"JobStatus","description":"JobStatus","properties":{"statuscode":{"description":"Code of status","type":"integer"},"statusref":{"description":"Short description of the update","type":"string"},"statustext":{"description":"Additional info of statusref","type":"number"},"statustime":{"description":"Time of status","type":"string"}},"type":"object"}}}}
```

## The JobLink object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"}}}}
```

## The JobMarks object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobMarks":{"title":"JobMarks","description":"JobMarks","properties":{"jobid":{"description":"Job ID","type":["integer","null"]},"statustime":{"description":"","type":["string","null"],"format":"datetime"},"text":{"description":"","type":["string","null"]},"whodid":{"description":"","type":["integer","null"]},"specialmark":{"description":"","type":["boolean","null"]},"customermark":{"description":"","type":["boolean","null"]},"restricted":{"description":"","type":["boolean","null"]},"noalert":{"description":"Suppress alert for this mark","type":["boolean","null"]}},"type":"object"}}}}
```

## The JobOriginalInvoiceReference object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobOriginalInvoiceReference":{"title":"JobOriginalInvoiceReference","description":"JobOriginalInvoiceReference","properties":{"invoicenumber":{"description":"Previous invoice number","type":"string"},"invoicedate":{"description":"Previous invoice date","type":"string"},"netamount":{"description":"Amount of the invoice without VAT","type":["number","null"]},"totalamount":{"description":"The total amount of an invoice including VAT","type":["number","null"]}},"type":"object"}}}}
```

## The JobPackageDetails object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"}}}}
```

## The JobPartialPayment object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPartialPayment":{"title":"JobPartialPayment","description":"JobPartialPayment","properties":{"paid_amount":{"description":"Paid amount of loaned sum with VAT.","type":["number","null"]},"paid_vat_excluded_amount":{"description":"Paid amount of loaned sum without VATs","type":["number","null"]},"unpaid_amount":{"description":"Unpaid amount of loaned sum with VAT","type":["number","null"]},"unpaid_vat_excluded_amount":{"description":"Unpaid amount of loaned sum without VAT","type":["number","null"]},"interest_percent":{"description":"The interest percent related to the partial payment","type":["number","null"]},"prosessing_costs_amount":{"description":"Cost related to the partial payment","type":["number","null"]},"vat_included_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT included","type":["number","null"]},"vat_excluded_amount":{"description":"Amount to be paid back of the loan in this specific payment, VAT excluded","type":["number","null"]},"duedate":{"description":"duedate","type":["string","null"],"format":"date"},"reference_identifier":{"description":"Payment reference number","type":["string","null"]}},"type":"object"}}}}
```

## The JobPatchOpenSalesInvoicesResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPatchOpenSalesInvoicesResponse":{"title":"JobPatchOpenSalesInvoicesResponse","description":"JobPatchOpenSalesInvoicesResponse","properties":{"opensalesinvoices":{"type":"array","items":{"$ref":"#/components/schemas/JobPatchOpenSalesInvoicesResponseResult"}}},"type":"object"},"JobPatchOpenSalesInvoicesResponseResult":{"title":"JobPatchOpenSalesInvoicesResponseResult","description":"JobPatchOpenSalesInvoicesResponseResult","properties":{"jobid":{"description":"Job ID","type":"integer"},"billnum":{"description":"Bill number","type":"string"}},"type":"object"}}}}
```

## The JobPatchOpenSalesInvoicesResponseResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPatchOpenSalesInvoicesResponseResult":{"title":"JobPatchOpenSalesInvoicesResponseResult","description":"JobPatchOpenSalesInvoicesResponseResult","properties":{"jobid":{"description":"Job ID","type":"integer"},"billnum":{"description":"Bill number","type":"string"}},"type":"object"}}}}
```

## The JobPayRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPayRow":{"title":"JobPayRow","description":"JobPayRow","properties":{"accountid":{"description":"Account ID for the accounting of the company that uses the interface","type":["integer","null"]},"allownullvalues":{"description":"1=true, row does not have to have desc, count, amount, taxpr, vatamount, netamount, totalamount values","type":["boolean","null"]},"amount":{"description":"Unit price without VAT","type":["number","null"]},"ahinta":{"description":"Unit price without VAT with discount","type":["number","null"]},"count":{"description":"Number of units","type":["number","null"]},"desc":{"description":"Name of the product","type":["string","null"]},"discount":{"description":"Discount rate","type":["number","null"]},"eancode":{"description":"The EAN code","type":["string","null"]},"enddate":{"description":"The period end date (e.g. the hotel room check-out date)","type":["string","null"],"format":"date"},"freetext":{"description":"An explanation added to the product; may include several lines","type":["string","null"]},"invoicerowtype":{"description":"0 = normal, 25600 = Sub total row (does not affect invoice total), 25601 = Header row","type":["integer","null"]},"itemtype":{"description":"The unit of amount, e.g. pcs, h or m3","type":["string","null"]},"itemtypeun":{"description":"The EU Norm unit of amount.","type":["string","null"]},"netamount":{"description":"Amount of the invoice line without VAT","type":["number","null"]},"priceunit":{"description":"Unit of unit price","type":["string","null"]},"priceunitun":{"description":"EU Norm Unit of unit price","type":["string","null"]},"productid":{"description":"Product ID","type":["string","null"]},"rowline":{"description":"The VAT amount of the invoice line","type":["integer","null"]},"rowtype":{"description":"Identifies invoice row debt type. 3 = capital, 6 = customer fee, 12 = customer reminder fee, etc.","type":["integer","null"]},"salesman":{"description":"The code of the salesman","type":["integer","null"]},"salesmanname":{"description":"Name or initials of the salesman","type":["string","null"]},"servicecode":{"description":"Cost centre","type":["string","null"]},"startdate":{"description":"The start date of the period (e.g. the hotel room check-in date)","type":["string","null"],"format":"date"},"storage":{"description":"Id of product in Ropo One storage. Need separate contract","type":["integer","null"]},"TA0001":{"description":"Site key in construction invoices.","type":["string","null"]},"TA0002":{"description":"Site number in construction invoices.","type":["string","null"]},"TA0003":{"description":"Reported to the site register: Y = yes, N = no","type":["string","null"]},"taxpr":{"description":"VAT percentage 0-100","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"itemprice":{"description":"Item price","type":["number","null"]},"totalitemprice":{"description":"Unit price including VAT","type":["number","null"]},"vatamount":{"description":"The VAT amount of the invoice line","type":["number","null"]},"vatcode":{"description":"VAT-code from Finvoice or CAB","type":["string","null"]},"vatfreetext":{"description":"Taxfree reason","type":["string","null"]},"subidentifier":{"description":"Finvoice RowSubIdentifier or SubIdentifier: Identifies invoice row in SubInvoicerow. Technical identifier if Sub invoice row is used","type":["string","null"]},"identifier":{"description":"Identifies invoice row capital or expence.","type":["string","null"]},"rowpositionidentifier":{"description":"Finvoice RowPositionIdentifier or SubRowPositionIdentifier: Identifies the invoice row","type":["string","null"]},"usageplacecode":{"description":"Usage place code","type":["string","null"]},"definitions":{"type":"array","items":{"$ref":"#/components/schemas/JobDefinitions"}},"packagedetails":{"$ref":"#/components/schemas/JobPackageDetails"},"propertyrow":{"type":"array","items":{"$ref":"#/components/schemas/JobPropertyRow"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"charges":{"type":"array","items":{"$ref":"#/components/schemas/JobAllowance"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/JobLink"}},"rowoverdue":{"$ref":"#/components/schemas/JobInvoicerowOverDue"},"invoicerowaddress":{"description":"Row any party details: The sector of business is responsible for maintaining the data contents and description","type":"array","items":{"$ref":"#/components/schemas/JobInvoicerowAddress"}}},"type":"object"},"JobDefinitions":{"title":"JobDefinitions","description":"JobDefinitions","properties":{"headertext":{"description":"Definition header text in Finvoice or Teapps invoice message.","type":["string","null"]},"code":{"description":"Defininition code in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcode":{"description":"Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"unitcodeun":{"description":"EU UN Unit code for value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]}},"type":"object"},"JobPackageDetails":{"title":"JobPackageDetails","description":"JobPackageDetails","properties":{"packagelength":{"description":"Length of package","type":["string","null"]},"lengthquantityunitcode":{"description":"Length quantity unit code.","type":["string","null"]},"lengthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagewidth":{"description":"Width of package","type":["string","null"]},"widthquantityunitcode":{"description":"Width quantity unit code.","type":["string","null"]},"widthquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageheight":{"description":"Height of package","type":["string","null"]},"heightquantityunitcode":{"description":"Height quantity unit code.","type":["string","null"]},"heightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packageweight":{"description":"Total weight","type":["string","null"]},"weightquantityunitcode":{"description":"Total weight unit code","type":["string","null"]},"weightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagenetweight":{"description":"Net weight","type":["string","null"]},"netweightquantityunitcode":{"description":"Net weight unit code","type":["string","null"]},"netweightquantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"packagevolume":{"description":"Volume","type":["string","null"]},"volumequantityunitcode":{"description":"Volume unit code","type":["string","null"]},"volumequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]},"transportcarriagequantity":{"description":"Number of transport carriages","type":["string","null"]},"carriagequantityunitcode":{"description":"Number of items ( eg. Pcs, unit, piece)","type":["string","null"]},"carriagequantityunitcodeun":{"description":"Check instructions from EU Norm","type":["string","null"]}},"type":"object"},"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"},"JobAllowance":{"title":"JobAllowance","description":"JobAllowance","required":["percent","amount","baseamount"],"properties":{"freetext":{"description":"Information in text format","type":["string","null"]},"reasoncode":{"description":"Check instructions from EU Norm BT-98","type":["string","null"]},"percent":{"description":"Percent","type":"number"},"amount":{"description":"Amount excluding VAT","type":"number"},"vatamount":{"description":"VAT amount","type":"number"},"baseamount":{"description":"Base amount, excluding VAT","type":"number"},"vatcategorycode":{"description":"VAT code","type":["string","null"]},"vatratepercent":{"description":"VAT percent","type":["number","null"]}},"type":"object"},"JobLink":{"title":"JobLink","description":"JobAllowance","properties":{"name":{"description":"Name of link","type":["string","null"]},"link":{"description":"Actual link","type":["string","null"]}},"type":"object"},"JobInvoicerowOverDue":{"title":"JobInvoicerowOverDue","description":"JobInvoicerowOverDue","properties":{"original_invoice_identifier":{"description":"Invoice number for the original invoice","type":["string","null"]},"original_invoice_date":{"description":"Date for the original invoice","type":["string","null"],"format":"date"},"original_due_date":{"description":"Due date for the original invoice","type":["string","null"],"format":"date"},"original_invoice_total_amount":{"description":"Total sum of original invoice","type":["number","null"]},"original_epi_remittance_info_identifier":{"description":"Payment reference of original invoice","type":["string","null"]},"paid_vat_excluded_amount":{"description":"Paid sum without VAT","type":["number","null"]},"paid_vat_included_amount":{"description":"Paid sum with VAT","type":["number","null"]},"paid_date":{"description":"Payment date","type":["string","null"],"format":"date"},"un_paid_vat_excluded_amount":{"description":"Sum not yet paid without VAT","type":["number","null"]},"un_paid_vat_included_amount":{"description":"Sum not yet paid with VAT","type":["number","null"]},"collection_date":{"description":"Collection date","type":["string","null"],"format":"date"},"collection_quantity":{"description":"The number of collections","type":["string","null"]},"quantity_unit_code":{"description":"Type of collections, eg. Pcs, unit","type":["string","null"]},"quantity_unit_code_u_n":{"description":"Check instructions from EU Norm","type":["string","null"]},"collection_charge_amount":{"description":"Collection charge","type":["number","null"]},"interest_rate":{"description":"interest rate","type":["number","null"]},"interest_start_date":{"description":"Start date for interest period","type":["string","null"],"format":"date"},"interest_end_date":{"description":"End date for interest period","type":["string","null"],"format":"date"},"interest_period_text":{"description":"Text for interest period","type":["string","null"]},"interest_date_number":{"description":"The number of interest dates","type":["string","null"]},"interest_charge_amount":{"description":"interest charge sum","type":["number","null"]},"interest_charge_vat_amount":{"description":"interest sum","type":["number","null"]},"amount_currency_identifier":{"description":"ISO4217 eg. EUR,USD...","type":["string","null"]}},"type":"object"},"JobInvoicerowAddress":{"title":"JobInvoicerowAddress","description":"JobInvoicerowAddress","properties":{"party_text":{"description":"Party related text","type":["string","null"]},"party_code":{"description":"Party code defined by the industry concerned","type":["string","null"]},"party_identifier":{"description":"Identification of any party Business ID","type":["string","null"]},"party_identifier_scheme_id":{"description":"Scheme of party ID","type":["string","null"]},"name":{"description":"Company name","type":["string","null"]},"name2":{"description":"Company name","type":["string","null"]},"department":{"description":"Department","type":["string","null"]},"tax_code":{"description":"VAT ID","type":["string","null"]},"any_party_code":{"description":"Other Identification of any party","type":["string","null"]},"any_party_code_scheme_id":{"description":"Scheme of any party code","type":["string","null"]},"address":{"description":"Street address","type":["string","null"]},"address2":{"description":"Street address 2","type":["string","null"]},"address3":{"description":"Street address 3","type":["string","null"]},"postcode":{"description":"Post code","type":["string","null"]},"city":{"description":"Post city","type":["string","null"]},"country_code":{"description":"Country code","type":["string","null"]},"country_name":{"description":"Country name","type":["string","null"]},"subdivision":{"description":"The subdivision of a country.","type":["string","null"]},"post_box_id":{"description":"PO box","type":["string","null"]},"organisation_unit_number":{"description":"OVT code (OVT-tunnus), format nnnnn (SFS)","type":["string","null"]},"site_code":{"description":"Site code of party","type":["string","null"]}},"type":"object"}}}}
```

## The JobPayee object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPayee":{"title":"JobPayee","description":"JobPayee","required":["address","city","name","postcode","govid"],"properties":{"address":{"description":"Address of the payee","type":"string"},"address2":{"description":"Address line 2 of the payee","type":"string"},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"city":{"description":"City of the payee","type":"string"},"countryname":{"description":"Country of the payee","type":"string"},"countrycode":{"description":"Country code of the payee","type":"string"},"contact_email":{"description":"Contact email address of payee","type":["string","null"]},"contact_name":{"description":"Contact name of payee","type":["string","null"]},"contact_phone":{"description":"Contact phone of payee","type":["string","null"]},"govid":{"description":"y-tunnus","type":"string"},"name":{"description":"Name of payee","type":"string"},"name_extension":{"description":"Extension for payeename","type":["string","null"]},"ovt":{"description":"OVT of payee","type":["string","null"]},"postcode":{"description":"Postcode of payee","type":"string"},"vatid":{"description":"VAT number of payee","type":"string"},"www":{"description":"www-address of payee","type":["string","null"]},"fax":{"description":"fax number","type":["string","null"]},"bankinfos":{"type":"array","items":{"$ref":"#/components/schemas/JobBankInfo"}}},"type":"object"},"JobBankInfo":{"title":"JobBankInfo","description":"JobBankInfo","properties":{"name":{"description":"Name of the bank","type":"string"},"iban":{"description":"International Bank Account Number","type":"string"},"bic":{"description":"Bank Identification Code","type":"string"},"bban":{"description":"Basic Bank Account Number","type":"string"},"bankgiro":{"description":"Bankgiro","type":"string"},"plusgirot":{"description":"Plusgirot","type":"string"}},"type":"object"}}}}
```

## The JobPayment object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPayment":{"title":"JobPayment","description":"JobPayment","properties":{"amount":{"description":"Amount of payment","type":"number"},"desc":{"description":"Visible description to customer","type":"string"},"paydate":{"description":"Date of payment","type":"string"},"rowtype":{"description":"Type of row","type":"integer"},"rowtypetext":{"description":"Description of rowtype in text","type":"string"},"returndesc":{"description":"Type of returndesc","type":"integer"},"returndesctext":{"description":"Description of returndesc in text","type":"string"},"rowtime":{"description":"Timestamp of rowinsert","type":"string"},"statusid":{"description":"Id of payment","type":"integer"}},"type":"object"}}}}
```

## The JobPayplan object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPayplan":{"title":"JobPayplan","description":"JobPayplan","properties":{"instalment":{"type":"array","items":{"$ref":"#/components/schemas/JobInstalment"}}},"type":"object"},"JobInstalment":{"title":"JobInstalment","description":"JobInstalment","properties":{"date":{"description":"Date of instalment","type":"string","format":"date"},"amount":{"description":"Amount of one instalment in a payment schedule in euros.","type":"number"}},"type":"object"}}}}
```

## The JobPropertyRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobPropertyRow":{"title":"JobPropertyRow","description":"JobPropertyRow","required":["propname","propvalue"],"properties":{"propname":{"description":"Control data for invoice layout or debt recovery.","type":"string"},"propvalue":{"description":"Control data value provided with propname tag. ","type":"string"}},"type":"object"}}}}
```

## The JobRefund object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobRefund":{"title":"JobRefund","description":"JobRefund","properties":{"amount":{"description":"Amount of refund","type":"number"},"date":{"description":"Date of refund","type":"string"},"jobid":{"description":"Assignment ID generated by Ropo to which the credit note is allocated.","type":"integer"}},"type":"object"}}}}
```

## The JobResolveDisputeRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobResolveDisputeRequest":{"title":"JobResolveDisputeRequest","description":"JobResolveDisputeRequest","properties":{"data":{"$ref":"#/components/schemas/JobResolveDisputeRequestData"}},"type":"object"},"JobResolveDisputeRequestData":{"title":"JobResolveDisputeRequestData","description":"JobResolveDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"}}}}
```

## The JobResolveDisputeRequestData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobResolveDisputeRequestData":{"title":"JobResolveDisputeRequestData","description":"JobResolveDisputeRequestData","properties":{"description":{"type":"string"}},"type":"object"}}}}
```

## The JobResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobResponse":{"title":"JobResponse","description":"JobResponse","properties":{"result":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseResult"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/JobResponseErrors"}},"accepted":{"description":"Total count of accepted jobs","type":"integer"}},"type":"object"},"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"},"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}}}
```

## The JobResponseErrors object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobResponseErrors":{"title":"JobResponseErrors","description":"JobResponseErrors","properties":{"error":{"description":"Error description.","type":"string"}},"type":"object"}}}}
```

## The JobResponseResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobResponseResult":{"title":"JobResponseResult","description":"JobResponseResult","properties":{"accepted":{"description":"When 1 job is accepted to Ropo One, When 0 job is rejected -> see error for rejection reason","type":"integer"},"amount":{"description":"","type":["number","null"]},"billnum":{"description":"The current number of the bill in the accounting books of the principal","type":"string"},"billcode":{"description":"The reference number generated by client","type":"string"},"error":{"description":"Reason for not accepting job","type":["string","null"]},"evoicetype":{"description":"More detail information if sendtype is evoice. Possible values are: elasku, suoramaksu, finvoice","type":["string","null"]},"jobid":{"description":"Task number created by Ropo One for the job","type":["integer","null"]},"jobstatus":{"description":"","type":"string"},"jobtype":{"description":"Type of job: 0=bill, 1=payment notice, 2=collection, 300=printing service, 301=mailing service","type":"string"},"notice":{"description":"Job is accepted but might need attention.","type":["array","null"],"items":{"type":"string"},"xml":{"name":"notes"}},"origbillnum":{"description":"Aggregate invoicing (jobtype=602) requires origbillnum.","type":["string","null"]},"ownref":{"description":"Temporary reference for sending","type":"integer"},"print":{"description":"If sendtype is print this returns same value as jobid. Else null.","type":["string","null"]},"receiver":{"type":"string"},"reference":{"description":"The reference number generated by Ropo One","type":"string"},"sendtype":{"description":"Type of sending of the bill: post, print, email or evoice","type":"string"}},"type":"object"}}}}
```

## The JobSendParameters object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobSendParameters":{"title":"JobSendParameters","description":"JobSendParameters","properties":{"earliestsenddate":{"description":"The earliest date when the invoice can be sent. This date only affects invoices with classification->documentype = generalnote","type":["string","null"]},"delivery_channel_priority":{"description":"Comma separated list of delivery channels","type":["string","null"]}},"type":"object"}}}}
```

## The JobSendtype object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobSendtype":{"title":"JobSendtype","description":"JobSendtype","properties":{"sendtype":{"type":["string","null"]},"evoice":{"type":["string","null"]},"evoiceint":{"type":["string","null"]}},"type":"object"}}}}
```

## The JobStatus object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobStatus":{"title":"JobStatus","description":"JobStatus","properties":{"statuscode":{"description":"Code of status","type":"integer"},"statusref":{"description":"Short description of the update","type":"string"},"statustext":{"description":"Additional info of statusref","type":"number"},"statustime":{"description":"Time of status","type":"string"}},"type":"object"}}}}
```

## The JobTaxRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobTaxRow":{"title":"JobTaxRow","description":"JobTaxRow","required":["vatamount","netamount"],"properties":{"netamount":{"description":"Total amount of the bill without VAT","type":"number"},"taxpr":{"description":"The VAT percentage of the product in an invoice line or in the VAT breakdown","type":["number","null"]},"totalamount":{"description":"The total price of an invoice line including VAT","type":["number","null"]},"vatamount":{"description":"Total VAT amount of the bill","type":"number"},"vatfreetext":{"description":"Description of VAT","type":["string","null"]},"vatcode":{"description":"VAT code","type":["string","null"]},"vatexemptionreasoncode":{"description":"the reason for why the amount is exempted from VAT.\tBT-121","type":["string","null"]}},"type":"object"}}}}
```

## The JobUsagePlace object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobUsagePlace":{"title":"JobUsagePlace","description":"JobUsagePlace","properties":{"address":{"$ref":"#/components/schemas/JobAddAddress"},"energycontract":{"type":"array","items":{"$ref":"#/components/schemas/JobEnergyContract"}},"code":{"type":["string","null"]},"fuse":{"type":["string","null"]},"usage_estimate":{"description":"Annual usage estimate","type":["string","null"]},"usage_estimate_unit":{"description":"Annual usage estimate unit","type":["string","null"]},"grid_usageplace":{"type":["string","null"]},"grid_edielno":{"type":["string","null"]},"grid_govid":{"type":["string","null"]},"gsrn_code":{"description":"Global Service Relation Number","type":["string","null"]},"consumptionhistory":{"type":"array","items":{"$ref":"#/components/schemas/JobUsagePlaceConsumptionHistory"}},"freetext":{"type":"array","items":{"$ref":"#/components/schemas/JobFreetext"}}},"type":"object"},"JobAddAddress":{"title":"JobAddAddress","description":"JobAddAddress","properties":{"address":{"type":["string","null"]},"city":{"type":["string","null"]},"addressaddline1":{"description":"Line above name","type":["string","null"]},"addressaddline2":{"description":"Line between receivers name and address","type":["string","null"]},"addressaddline3":{"description":"Line between receivers name and address","type":["string","null"]},"addresstype":{"description":"1 = postitusosoite, 2 = toimitusosoite, 3 = laskutusosoite, 4 = rinnakkais, 5 = toissijainen velallinen, 6 = muu, 7 = kayttopaikka, 8 = toimittaja","type":["number","null"]},"person":{"type":["string","null"]},"company":{"type":["string","null"]},"addresscountry":{"type":["string","null"]},"postcode":{"type":["string","null"]},"custnum":{"type":["string","null"]},"govid":{"description":"Identification of seller Business ID (Business Identity Code = Y-tunnus in Finnish or Persons social security number)","type":["string","null"]},"vatid":{"description":"VAT number","type":["string","null"]},"customertype":{"description":"1=comppany, 2=person","type":["integer","null"]},"email":{"description":"Contact email","type":["string","null"]},"phone":{"description":"Contact phone","type":["string","null"]},"partytext":{"description":"Description of address","type":["string","null"]},"partycode":{"description":"Business fields defined type code for address.","type":["string","null"]},"sitecode":{"description":"Code for address.","type":["string","null"]},"contactperson":{"type":["string","null"]},"countryname":{"type":["string","null"]},"ovt":{"description":"OrganisationUnitNumber","type":["string","null"]},"department":{"type":["string","null"]},"contactpersontitle":{"type":["string","null"]},"contactpersondepartment":{"type":["string","null"]}},"type":"object"},"JobEnergyContract":{"title":"JobEnergyContract","description":"JobEnergyContract","properties":{"contract_no":{"description":"Contract number","type":["string","null"]},"name":{"type":["string","null"]},"vendor_name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"expdate":{"description":"Contract period end date.","type":["string","null"]}},"type":"object"},"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"},"JobFreetext":{"title":"JobFreetext","description":"JobFreetext","properties":{"texttype":{"description":"Freetext type e.g. HEADER = (top part of the invoice), FOOTER (bottom part of invoice), GIRO (giro part of the invoice)","type":["string","null"]},"textname":{"description":"Freetext name or header","type":["string","null"]},"textvalue":{"description":"Freetext","type":["string","null"]}},"type":"object"}}}}
```

## The JobUsagePlaceConsumptionHistory object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobUsagePlaceConsumptionHistory":{"title":"JobUsagePlaceConsumptionHistory","description":"JobUsagePlaceConsumptionHistory","properties":{"consumption":{"description":"consumption history value between start and end dates","type":"number"},"monthly_avg_peak":{"description":"Monthly Average Peak Value","type":"number"},"startdate":{"type":"string"},"enddate":{"description":"end date","type":["string","null"]},"yoy_percentage_change":{"description":"Year-over-year percentage change","type":["number","null"]}},"type":"object"}}}}
```

## The JobXmlDetailsRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobXmlDetailsRow":{"title":"JobXmlDetailsRow","description":"JobXmlDetailsRow","required":["source","text"],"properties":{"text":{"description":"Name for the additional data conveyed in Finvoice or Teapps invoice message.","type":"string"},"source":{"description":"E-invoice additional data type: finvoice or teapps.","type":"string"},"code":{"description":"Machine-language name code for the additional data conveyed in Finvoice or Teapps invoice message.","type":["string","null"]},"value":{"description":"Value of the additional data entered in Finvoice or Teapps invoice message.","type":["string","null"]},"group":{"description":"Group value for example delivery site code","type":["string","null"]}},"type":"object"}}}}
```

## The JobsStatusUpdatesCommonError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsStatusUpdatesCommonError":{"title":"JobsStatusUpdatesCommonError","description":"JobsStatusUpdatesCommonError","properties":{"commonerror":{"description":"Descriptive string of an error.","type":"string"}},"type":"object"}}}}
```

## The JobsStatusUpdatesCommonErrorResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsStatusUpdatesCommonErrorResult":{"title":"JobsStatusUpdatesCommonErrorResult","description":"JobsStatusUpdatesCommonErrorResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonError","description":"object."}},"type":"object"},"JobsStatusUpdatesCommonError":{"title":"JobsStatusUpdatesCommonError","description":"JobsStatusUpdatesCommonError","properties":{"commonerror":{"description":"Descriptive string of an error.","type":"string"}},"type":"object"}}}}
```

## The JobsStatusUpdatesResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsStatusUpdatesResult":{"title":"JobsStatusUpdatesResult","description":"JobsStatusUpdatesResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesStatus"}},"type":"object"},"JobsStatusUpdatesStatus":{"title":"JobsStatusUpdatesStatus","description":"JobsStatusUpdatesStatus","properties":{"status":{"type":"array","items":{"$ref":"#/components/schemas/JobsStatusUpdatesStatusRecord"}}},"type":"object"},"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"}}}}
```

## The JobsStatusUpdatesStatus object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsStatusUpdatesStatus":{"title":"JobsStatusUpdatesStatus","description":"JobsStatusUpdatesStatus","properties":{"status":{"type":"array","items":{"$ref":"#/components/schemas/JobsStatusUpdatesStatusRecord"}}},"type":"object"},"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"}}}}
```

## The JobsStatusUpdatesStatusRecord object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"}}}}
```

## The JobByEndCustomer object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobByEndCustomer":{"properties":{"case_number":{"description":"Case number (internal job ID)","type":"integer"},"invoice_number":{"description":"Invoice number","type":"string"},"original_invoice_date":{"description":"Original invoice date (origjobdate)","type":"string"},"status":{"description":"Current status (invoicing, due, reminder, collection, paid)","type":"string"},"open_amount":{"description":"Open amount","type":"number","format":"float"},"group_job":{"description":"Whether this is a group job (0=no, 1=yes)","type":"integer"},"group_invoice_numbers":{"description":"Invoice numbers of sub-jobs in the group (only when group_job=1)","type":"array","items":{"type":"string"}},"group_total_payable":{"description":"Total payable amount for the group (only when group_job=1)","type":"number","format":"float"},"my_ropo_link":{"description":"Direct MyRopo link for this invoice","type":"string"}},"type":"object"}}}}
```

## The JobsByEndCustomerRequest object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsByEndCustomerRequest":{"properties":{"ssn":{"description":"Social security number (HETU). Either ssn or custnum is required.","type":"string"},"custnum":{"description":"Customer number. Either ssn or custnum is required.","type":"string"},"all_invoices":{"description":"0 = open invoices only (default), 1 = all invoices including paid.","type":"integer"}},"type":"object"}}}}
```

## The JobsByEndCustomerResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobsByEndCustomerResponse":{"properties":{"jobs":{"description":"List of jobs","type":"array","items":{"$ref":"#/components/schemas/JobByEndCustomer"}}},"type":"object"},"JobByEndCustomer":{"properties":{"case_number":{"description":"Case number (internal job ID)","type":"integer"},"invoice_number":{"description":"Invoice number","type":"string"},"original_invoice_date":{"description":"Original invoice date (origjobdate)","type":"string"},"status":{"description":"Current status (invoicing, due, reminder, collection, paid)","type":"string"},"open_amount":{"description":"Open amount","type":"number","format":"float"},"group_job":{"description":"Whether this is a group job (0=no, 1=yes)","type":"integer"},"group_invoice_numbers":{"description":"Invoice numbers of sub-jobs in the group (only when group_job=1)","type":"array","items":{"type":"string"}},"group_total_payable":{"description":"Total payable amount for the group (only when group_job=1)","type":"number","format":"float"},"my_ropo_link":{"description":"Direct MyRopo link for this invoice","type":"string"}},"type":"object"}}}}
```

## The OnlineLinkResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"OnlineLinkResponse":{"title":"OnlineLinkResponse","description":"OnlineLinkResponse","properties":{"url":{"type":"string"}},"type":"object"}}}}
```

## The PaylinkResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"PaylinkResponse":{"title":"PaylinkResponse","description":"PaylinkResponse","properties":{"url":{"type":"string"}},"type":"object"}}}}
```

## The ProductStockError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ProductStockError":{"title":"ProductStockError","description":"ProductStockError","properties":{"errorId":{"type":"integer"},"errorText":{"type":"string"}},"type":"object"}}}}
```

## The ProductStockGroup object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ProductStockGroup":{"title":"ProductStockGroup","description":"ProductStockGroup","properties":{"name":{"description":"Warehouse name","type":"string"},"totalamount":{"description":"Total amount of the stock item","type":"number"},"products":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockRow"}}},"type":"object"},"ProductStockRow":{"title":"ProductStockRow","description":"ProductStockRow","properties":{"productId":{"description":"Product id","type":"integer"},"name":{"description":"Product name","type":"string"},"code":{"description":"Product code","type":"string"},"amount":{"description":"Store value","type":"integer"},"count":{"description":"Store quantity","type":"integer"}},"type":"object"}}}}
```

## The ProductStockResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ProductStockResponse":{"title":"ProductStockResponse","description":"ProductStockResponse","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockResult"}}},"type":"object"},"ProductStockResult":{"title":"ProductStockResult","description":"ProductStockResult","properties":{"productgroups":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockGroup"}}},"type":"object"},"ProductStockGroup":{"title":"ProductStockGroup","description":"ProductStockGroup","properties":{"name":{"description":"Warehouse name","type":"string"},"totalamount":{"description":"Total amount of the stock item","type":"number"},"products":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockRow"}}},"type":"object"},"ProductStockRow":{"title":"ProductStockRow","description":"ProductStockRow","properties":{"productId":{"description":"Product id","type":"integer"},"name":{"description":"Product name","type":"string"},"code":{"description":"Product code","type":"string"},"amount":{"description":"Store value","type":"integer"},"count":{"description":"Store quantity","type":"integer"}},"type":"object"}}}}
```

## The ProductStockResult object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ProductStockResult":{"title":"ProductStockResult","description":"ProductStockResult","properties":{"productgroups":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockGroup"}}},"type":"object"},"ProductStockGroup":{"title":"ProductStockGroup","description":"ProductStockGroup","properties":{"name":{"description":"Warehouse name","type":"string"},"totalamount":{"description":"Total amount of the stock item","type":"number"},"products":{"type":"array","items":{"$ref":"#/components/schemas/ProductStockRow"}}},"type":"object"},"ProductStockRow":{"title":"ProductStockRow","description":"ProductStockRow","properties":{"productId":{"description":"Product id","type":"integer"},"name":{"description":"Product name","type":"string"},"code":{"description":"Product code","type":"string"},"amount":{"description":"Store value","type":"integer"},"count":{"description":"Store quantity","type":"integer"}},"type":"object"}}}}
```

## The ProductStockRow object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ProductStockRow":{"title":"ProductStockRow","description":"ProductStockRow","properties":{"productId":{"description":"Product id","type":"integer"},"name":{"description":"Product name","type":"string"},"code":{"description":"Product code","type":"string"},"amount":{"description":"Store value","type":"integer"},"count":{"description":"Store quantity","type":"integer"}},"type":"object"}}}}
```

## The ReceiverResponse object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ReceiverResponse":{"title":"ReceiverResponse","description":"ReceiverResponse","properties":{"result":{"description":"Result","type":"string"},"errors":{"description":"Result","type":"string"}},"type":"object"}}}}
```

## The AmountBreakdown object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"AmountBreakdown":{"title":"AmountBreakdown","description":"AmountBreakdown","properties":{"capital":{"description":"Capital amount","type":"number"},"interest":{"description":"Interest amount","type":"number"},"expenses":{"type":["number","null"],"default":0},"cashdiscount":{"description":"Cash discount amount","type":"number"}},"type":"object"}}}}
```

## The ContractStatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"ContractStatusData":{"title":"ContractStatusData","description":"ContractStatusData","properties":{"contract_no":{"description":"Contract number","type":"string"},"jobid":{"description":"Job id","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"}}}}
```

## The DeliveryStatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"DeliveryStatusData":{"title":"DeliveryStatusData","description":"DeliveryStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"statustime":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"distributionchannel":{"description":"Distribution channel","type":"string"},"notes":{"description":"Delivery status notes.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusNote"}},"errors":{"description":"Delivery status errors.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusError"}},"invoicenumber":{"description":"get billnum for status","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"DeliveryStatusNote":{"title":"DeliveryStatusNote","description":"DeliveryStatusNote","properties":{"note":{"description":"Notes reported to customer from the data.","type":"string"}},"type":"object"},"DeliveryStatusError":{"title":"DeliveryStatusError","description":"DeliveryStatusError","properties":{"error":{"description":"Errors reported to customer from the data.","type":"string"}},"type":"object"}}}}
```

## The DeliveryStatusError object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"DeliveryStatusError":{"title":"DeliveryStatusError","description":"DeliveryStatusError","properties":{"error":{"description":"Errors reported to customer from the data.","type":"string"}},"type":"object"}}}}
```

## The DeliveryStatusNote object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"DeliveryStatusNote":{"title":"DeliveryStatusNote","description":"DeliveryStatusNote","properties":{"note":{"description":"Notes reported to customer from the data.","type":"string"}},"type":"object"}}}}
```

## The Invoice object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"Invoice":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"invoicenumber":{"description":"Invoicenumber","type":"string"},"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"}},"type":"object"}}}}
```

## The JobCreditNoteData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobCreditNoteData":{"title":"JobCreditNoteData","description":"JobCreditNoteData","properties":{"creditjobid":{"description":"Ropo One ID for credit job","type":"integer"},"creditbillnum":{"description":"Credit billnum","type":"string"},"debitjobid":{"description":"Ropo One ID for debit job","type":"integer"},"debitbillnum":{"description":"Debit billnum","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"amount":{"description":"Refunded or allocated amount","type":"string"},"time":{"description":"Time when status changed","type":"string"},"type":{"description":"Type of credit note change, refund or allocation","type":"string"},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"}}}}
```

## The JobDisconnectData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisconnectData":{"title":"JobDisconnectData","description":"JobDisconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"},"disconnectiondate":{"description":"Disconnect Date","type":"string"}},"type":"object"},"Invoice":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"invoicenumber":{"description":"Invoicenumber","type":"string"},"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"}},"type":"object"}}}}
```

## The JobDisconnectTelecomData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobDisconnectTelecomData":{"title":"JobDisconnectTelecomData","description":"JobDisconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"}}}}
```

## The JobReconnectData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobReconnectData":{"title":"JobReconnectData","description":"JobReconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"Invoice":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"invoicenumber":{"description":"Invoicenumber","type":"string"},"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"}},"type":"object"}}}}
```

## The JobReconnectTelecomData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobReconnectTelecomData":{"title":"JobReconnectTelecomData","description":"JobReconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"}}}}
```

## The JobStatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobStatusData":{"title":"JobStatusData","description":"JobStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"code":{"description":"Document status code value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"paydate":{"description":"Original duedate","type":"string"},"currentpaydate":{"description":"Current duedate","type":"string"},"invoicenumber":{"description":"get billnum for status","type":"string"},"interest":{"description":"current interest","type":"number","format":"float"},"expenses":{"description":"current expenses","type":"number","format":"float"},"opencapital":{"description":"current opencapital","type":"number","format":"float"},"source":{"description":"Source for the status change","type":"string"},"contract":{"type":["array","null"],"items":{"$ref":"#/components/schemas/JobStatusDataContract"}},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"JobStatusDataContract":{"title":"JobStatusDataContract","description":"JobStatusDataContract","properties":{"contract_no":{"type":"string"}},"type":"object"}}}}
```

## The JobStatusDataContract object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"JobStatusDataContract":{"title":"JobStatusDataContract","description":"JobStatusDataContract","properties":{"contract_no":{"type":"string"}},"type":"object"}}}}
```

## The PaymentStatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"PaymentStatusData":{"title":"PaymentStatusData","description":"PaymentStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"amount":{"description":"Paid amount","type":"number"},"amountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the paid amount."},{"type":"null"}],"description":"Breakdown of the paid amount."},"openamount":{"description":"Open amount of a case in Ropo One. This includes not only the open capital but all the expenses and interest that belong to client.","type":"number"},"openamountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the current open amount."},{"type":"null"}],"description":"Breakdown of the current open amount."},"type":{"description":"Payment type value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Information about payment","type":"string"},"paydate":{"description":"When payment was done","type":"string","deprecated":true},"reference":{"description":"Payment reference","type":"string"},"invoicenumber":{"description":"Used to get billnum","type":"string"},"paymentdate":{"description":"Payment registered in bank","type":"string"},"accountdate":{"description":"Payment received","type":"string"},"settlementdate":{"description":"Payment settled","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"AmountBreakdown":{"title":"AmountBreakdown","description":"AmountBreakdown","properties":{"capital":{"description":"Capital amount","type":"number"},"interest":{"description":"Interest amount","type":"number"},"expenses":{"type":["number","null"],"default":0},"cashdiscount":{"description":"Cash discount amount","type":"number"}},"type":"object"}}}}
```

## The Status object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"Status":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"created_at":{"description":"Event creation timestamp in ISO8601 format","type":"string","format":"date"},"id":{"description":"Event identification","type":"string"},"data":{"oneOf":[{"$ref":"#/components/schemas/StatusData"},{"type":"null"}]}},"type":"object"},"StatusData":{"title":"StatusData","description":"StatusData","properties":{"contract":{"type":"array","items":{"$ref":"#/components/schemas/ContractStatusData"}},"delivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusData"}},"lcstatus":{"type":"array","items":{"$ref":"#/components/schemas/JobStatusData"}},"payment":{"type":"array","items":{"$ref":"#/components/schemas/PaymentStatusData"}},"duedateupdate":{"description":"This is used for event type DUEDATETRA.","type":"array","items":{"$ref":"#/components/schemas/JobStatusData"}},"creditnote":{"type":"array","items":{"$ref":"#/components/schemas/JobCreditNoteData"}},"disconnect":{"type":"array","items":{"$ref":"#/components/schemas/JobDisconnectData"}},"reconnect":{"type":"array","items":{"$ref":"#/components/schemas/JobReconnectData"}},"disconnect_telecom":{"type":"array","items":{"$ref":"#/components/schemas/JobDisconnectTelecomData"}},"reconnect_telecom":{"type":"array","items":{"$ref":"#/components/schemas/JobReconnectTelecomData"}},"creditloss":{"type":["array","null"],"items":{"$ref":"#/components/schemas/TimeBasedCreditLossStatusData"},"default":null}},"type":"object"},"ContractStatusData":{"title":"ContractStatusData","description":"ContractStatusData","properties":{"contract_no":{"description":"Contract number","type":"string"},"jobid":{"description":"Job id","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"DeliveryStatusData":{"title":"DeliveryStatusData","description":"DeliveryStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"statustime":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"distributionchannel":{"description":"Distribution channel","type":"string"},"notes":{"description":"Delivery status notes.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusNote"}},"errors":{"description":"Delivery status errors.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusError"}},"invoicenumber":{"description":"get billnum for status","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"DeliveryStatusNote":{"title":"DeliveryStatusNote","description":"DeliveryStatusNote","properties":{"note":{"description":"Notes reported to customer from the data.","type":"string"}},"type":"object"},"DeliveryStatusError":{"title":"DeliveryStatusError","description":"DeliveryStatusError","properties":{"error":{"description":"Errors reported to customer from the data.","type":"string"}},"type":"object"},"JobStatusData":{"title":"JobStatusData","description":"JobStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"code":{"description":"Document status code value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"paydate":{"description":"Original duedate","type":"string"},"currentpaydate":{"description":"Current duedate","type":"string"},"invoicenumber":{"description":"get billnum for status","type":"string"},"interest":{"description":"current interest","type":"number","format":"float"},"expenses":{"description":"current expenses","type":"number","format":"float"},"opencapital":{"description":"current opencapital","type":"number","format":"float"},"source":{"description":"Source for the status change","type":"string"},"contract":{"type":["array","null"],"items":{"$ref":"#/components/schemas/JobStatusDataContract"}},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"JobStatusDataContract":{"title":"JobStatusDataContract","description":"JobStatusDataContract","properties":{"contract_no":{"type":"string"}},"type":"object"},"PaymentStatusData":{"title":"PaymentStatusData","description":"PaymentStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"amount":{"description":"Paid amount","type":"number"},"amountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the paid amount."},{"type":"null"}],"description":"Breakdown of the paid amount."},"openamount":{"description":"Open amount of a case in Ropo One. This includes not only the open capital but all the expenses and interest that belong to client.","type":"number"},"openamountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the current open amount."},{"type":"null"}],"description":"Breakdown of the current open amount."},"type":{"description":"Payment type value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Information about payment","type":"string"},"paydate":{"description":"When payment was done","type":"string","deprecated":true},"reference":{"description":"Payment reference","type":"string"},"invoicenumber":{"description":"Used to get billnum","type":"string"},"paymentdate":{"description":"Payment registered in bank","type":"string"},"accountdate":{"description":"Payment received","type":"string"},"settlementdate":{"description":"Payment settled","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"AmountBreakdown":{"title":"AmountBreakdown","description":"AmountBreakdown","properties":{"capital":{"description":"Capital amount","type":"number"},"interest":{"description":"Interest amount","type":"number"},"expenses":{"type":["number","null"],"default":0},"cashdiscount":{"description":"Cash discount amount","type":"number"}},"type":"object"},"JobCreditNoteData":{"title":"JobCreditNoteData","description":"JobCreditNoteData","properties":{"creditjobid":{"description":"Ropo One ID for credit job","type":"integer"},"creditbillnum":{"description":"Credit billnum","type":"string"},"debitjobid":{"description":"Ropo One ID for debit job","type":"integer"},"debitbillnum":{"description":"Debit billnum","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"amount":{"description":"Refunded or allocated amount","type":"string"},"time":{"description":"Time when status changed","type":"string"},"type":{"description":"Type of credit note change, refund or allocation","type":"string"},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"JobDisconnectData":{"title":"JobDisconnectData","description":"JobDisconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"},"disconnectiondate":{"description":"Disconnect Date","type":"string"}},"type":"object"},"Invoice":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"invoicenumber":{"description":"Invoicenumber","type":"string"},"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"}},"type":"object"},"JobReconnectData":{"title":"JobReconnectData","description":"JobReconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"JobDisconnectTelecomData":{"title":"JobDisconnectTelecomData","description":"JobDisconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"JobReconnectTelecomData":{"title":"JobReconnectTelecomData","description":"JobReconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"TimeBasedCreditLossStatusData":{"title":"TimeBasedCreditLossStatusData","description":"TimeBasedCreditLossStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"invoicenumber":{"description":"Billnum","type":"string"},"time":{"description":"Time","type":"string"},"amount":{"type":"number","format":"float"},"description":{"description":"Status description","type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"type":{"description":"Type of status update","type":"string","enum":["creditloss","suspected","changed"]},"amountbreakdown":{"$ref":"#/components/schemas/TimeBasedCreditLossStatusDataAmountBreakdown"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"TimeBasedCreditLossStatusDataAmountBreakdown":{"title":"TimeBasedCreditLossStatusDataAmountBreakdown","description":"TimeBasedCreditLossStatusDataAmountBreakdown","properties":{"capital":{"type":"number","format":"float"},"creditloss":{"type":"number","format":"float"},"suspected_creditloss":{"type":["number","null"],"format":"float","default":null}},"type":"object"}}}}
```

## The StatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"StatusData":{"title":"StatusData","description":"StatusData","properties":{"contract":{"type":"array","items":{"$ref":"#/components/schemas/ContractStatusData"}},"delivery":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusData"}},"lcstatus":{"type":"array","items":{"$ref":"#/components/schemas/JobStatusData"}},"payment":{"type":"array","items":{"$ref":"#/components/schemas/PaymentStatusData"}},"duedateupdate":{"description":"This is used for event type DUEDATETRA.","type":"array","items":{"$ref":"#/components/schemas/JobStatusData"}},"creditnote":{"type":"array","items":{"$ref":"#/components/schemas/JobCreditNoteData"}},"disconnect":{"type":"array","items":{"$ref":"#/components/schemas/JobDisconnectData"}},"reconnect":{"type":"array","items":{"$ref":"#/components/schemas/JobReconnectData"}},"disconnect_telecom":{"type":"array","items":{"$ref":"#/components/schemas/JobDisconnectTelecomData"}},"reconnect_telecom":{"type":"array","items":{"$ref":"#/components/schemas/JobReconnectTelecomData"}},"creditloss":{"type":["array","null"],"items":{"$ref":"#/components/schemas/TimeBasedCreditLossStatusData"},"default":null}},"type":"object"},"ContractStatusData":{"title":"ContractStatusData","description":"ContractStatusData","properties":{"contract_no":{"description":"Contract number","type":"string"},"jobid":{"description":"Job id","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"name":{"type":["string","null"]},"startdate":{"type":["string","null"]},"enddate":{"description":"Contract end date","type":["string","null"]},"contractstatus":{"description":"Status of contract (active, closed, terminated)","type":["string","null"]},"type":{"description":"Type of contract (insurance)","type":["string","null"]},"termination_date":{"description":"Contract termination date","type":["string","null"]},"terminationterm":{"description":"Contract termination term. Number of days termination will be done.","type":["integer","null"]},"product":{"description":"Contract product name","type":["string","null"]},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"DeliveryStatusData":{"title":"DeliveryStatusData","description":"DeliveryStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"statustime":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"distributionchannel":{"description":"Distribution channel","type":"string"},"notes":{"description":"Delivery status notes.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusNote"}},"errors":{"description":"Delivery status errors.","type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusError"}},"invoicenumber":{"description":"get billnum for status","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"DeliveryStatusNote":{"title":"DeliveryStatusNote","description":"DeliveryStatusNote","properties":{"note":{"description":"Notes reported to customer from the data.","type":"string"}},"type":"object"},"DeliveryStatusError":{"title":"DeliveryStatusError","description":"DeliveryStatusError","properties":{"error":{"description":"Errors reported to customer from the data.","type":"string"}},"type":"object"},"JobStatusData":{"title":"JobStatusData","description":"JobStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"status":{"description":"Document status","type":"string"},"code":{"description":"Document status code value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Status description","type":"string"},"paydate":{"description":"Original duedate","type":"string"},"currentpaydate":{"description":"Current duedate","type":"string"},"invoicenumber":{"description":"get billnum for status","type":"string"},"interest":{"description":"current interest","type":"number","format":"float"},"expenses":{"description":"current expenses","type":"number","format":"float"},"opencapital":{"description":"current opencapital","type":"number","format":"float"},"source":{"description":"Source for the status change","type":"string"},"contract":{"type":["array","null"],"items":{"$ref":"#/components/schemas/JobStatusDataContract"}},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"JobStatusDataContract":{"title":"JobStatusDataContract","description":"JobStatusDataContract","properties":{"contract_no":{"type":"string"}},"type":"object"},"PaymentStatusData":{"title":"PaymentStatusData","description":"PaymentStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"amount":{"description":"Paid amount","type":"number"},"amountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the paid amount."},{"type":"null"}],"description":"Breakdown of the paid amount."},"openamount":{"description":"Open amount of a case in Ropo One. This includes not only the open capital but all the expenses and interest that belong to client.","type":"number"},"openamountbreakdown":{"oneOf":[{"$ref":"#/components/schemas/AmountBreakdown","description":"Breakdown of the current open amount."},{"type":"null"}],"description":"Breakdown of the current open amount."},"type":{"description":"Payment type value","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Information about payment","type":"string"},"paydate":{"description":"When payment was done","type":"string","deprecated":true},"reference":{"description":"Payment reference","type":"string"},"invoicenumber":{"description":"Used to get billnum","type":"string"},"paymentdate":{"description":"Payment registered in bank","type":"string"},"accountdate":{"description":"Payment received","type":"string"},"settlementdate":{"description":"Payment settled","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"AmountBreakdown":{"title":"AmountBreakdown","description":"AmountBreakdown","properties":{"capital":{"description":"Capital amount","type":"number"},"interest":{"description":"Interest amount","type":"number"},"expenses":{"type":["number","null"],"default":0},"cashdiscount":{"description":"Cash discount amount","type":"number"}},"type":"object"},"JobCreditNoteData":{"title":"JobCreditNoteData","description":"JobCreditNoteData","properties":{"creditjobid":{"description":"Ropo One ID for credit job","type":"integer"},"creditbillnum":{"description":"Credit billnum","type":"string"},"debitjobid":{"description":"Ropo One ID for debit job","type":"integer"},"debitbillnum":{"description":"Debit billnum","type":"string"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"amount":{"description":"Refunded or allocated amount","type":"string"},"time":{"description":"Time when status changed","type":"string"},"type":{"description":"Type of credit note change, refund or allocation","type":"string"},"description":{"description":"Status description","type":"string"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"JobDisconnectData":{"title":"JobDisconnectData","description":"JobDisconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"},"disconnectiondate":{"description":"Disconnect Date","type":"string"}},"type":"object"},"Invoice":{"title":"Status","description":"Status information provided from Ropo One.","properties":{"invoicenumber":{"description":"Invoicenumber","type":"string"},"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"}},"type":"object"},"JobReconnectData":{"title":"JobReconnectData","description":"JobReconnectData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"description":"Array of Invoices","type":"array","items":{"$ref":"#/components/schemas/Invoice"}},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"JobDisconnectTelecomData":{"title":"JobDisconnectTelecomData","description":"JobDisconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"JobReconnectTelecomData":{"title":"JobReconnectTelecomData","description":"JobReconnectTelecomData","properties":{"customernumber":{"description":"Customernumber","type":"string"},"time":{"description":"Time when status changed","type":"string"},"description":{"description":"Description","type":"string"}},"type":"object"},"TimeBasedCreditLossStatusData":{"title":"TimeBasedCreditLossStatusData","description":"TimeBasedCreditLossStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"invoicenumber":{"description":"Billnum","type":"string"},"time":{"description":"Time","type":"string"},"amount":{"type":"number","format":"float"},"description":{"description":"Status description","type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"type":{"description":"Type of status update","type":"string","enum":["creditloss","suspected","changed"]},"amountbreakdown":{"$ref":"#/components/schemas/TimeBasedCreditLossStatusDataAmountBreakdown"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"TimeBasedCreditLossStatusDataAmountBreakdown":{"title":"TimeBasedCreditLossStatusDataAmountBreakdown","description":"TimeBasedCreditLossStatusDataAmountBreakdown","properties":{"capital":{"type":"number","format":"float"},"creditloss":{"type":"number","format":"float"},"suspected_creditloss":{"type":["number","null"],"format":"float","default":null}},"type":"object"}}}}
```

## The TimeBasedCreditLossStatusData object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"TimeBasedCreditLossStatusData":{"title":"TimeBasedCreditLossStatusData","description":"TimeBasedCreditLossStatusData","properties":{"jobid":{"description":"Ropo One identification id for document","type":"integer"},"cid":{"description":"Ropo One identification id for customer / profile","type":"integer"},"documentid":{"description":"Customer own identification id for document if provided","type":"string"},"invoicenumber":{"description":"Billnum","type":"string"},"time":{"description":"Time","type":"string"},"amount":{"type":"number","format":"float"},"description":{"description":"Status description","type":"string"},"reason":{"type":"string"},"reference":{"type":"string"},"type":{"description":"Type of status update","type":"string","enum":["creditloss","suspected","changed"]},"amountbreakdown":{"$ref":"#/components/schemas/TimeBasedCreditLossStatusDataAmountBreakdown"},"customernumber":{"description":"Customer number from creditor's system","type":"string"}},"type":"object"},"TimeBasedCreditLossStatusDataAmountBreakdown":{"title":"TimeBasedCreditLossStatusDataAmountBreakdown","description":"TimeBasedCreditLossStatusDataAmountBreakdown","properties":{"capital":{"type":"number","format":"float"},"creditloss":{"type":"number","format":"float"},"suspected_creditloss":{"type":["number","null"],"format":"float","default":null}},"type":"object"}}}}
```

## The TimeBasedCreditLossStatusDataAmountBreakdown object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"TimeBasedCreditLossStatusDataAmountBreakdown":{"title":"TimeBasedCreditLossStatusDataAmountBreakdown","description":"TimeBasedCreditLossStatusDataAmountBreakdown","properties":{"capital":{"type":"number","format":"float"},"creditloss":{"type":"number","format":"float"},"suspected_creditloss":{"type":["number","null"],"format":"float","default":null}},"type":"object"}}}}
```

## The TelecomSubscriptionEvent object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"TelecomSubscriptionEvent":{"title":"TelecomSubscriptionEvent","description":"TelecomSubscriptionEvent","properties":{"status":{"description":"Type of event","type":"string"},"customernumber":{"description":"Customer number identifying the debtor","type":"string"},"time":{"description":"Time when the event occurred","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"}}}}
```

## The UEInvoice object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"UEInvoice":{"title":"UEInvoice","description":"Invoice","properties":{"jobid":{"description":"Ropo One jobid","type":"integer"},"invoicenumber":{"description":"Invoicenumber","type":"string"}},"type":"object"}}}}
```

## The UsageplaceEvent object

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"components":{"schemas":{"UsageplaceEvent":{"title":"UsageplaceEvent","description":"UsageplaceEvent","properties":{"id":{"description":"Unique id for the event","type":"string"},"usageplacecode":{"description":"Usageplacecode","type":"string"},"customernumber":{"description":"Customernumer","type":"string"},"contract_no":{"description":"Contractnumber","type":"string"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/UEInvoice"}},"time":{"description":"Time of event","type":"string"},"status":{"description":"Type of event","type":"string"},"description":{"description":"Further description of the event","type":"string"}},"type":"object"},"UEInvoice":{"title":"UEInvoice","description":"Invoice","properties":{"jobid":{"description":"Ropo One jobid","type":"integer"},"invoicenumber":{"description":"Invoicenumber","type":"string"}},"type":"object"}}}}
```


# Product and service updates

Stay informed with our latest service updates, including new features, improvements, innovations, and system status.&#x20;

**View Service Insights**&#x20;

{% embed url="<https://ropo.com/newsroom/#h-service-insights>" %}

**Subscribe to monthly updates**&#x20;

\
Stay up to date with product and service development by [subscribing to our monthly newsletter](https://ropo.com/subscribe-to-ropos-newsletter/). &#x20;

{% embed url="<https://ropo.com/subscribe-to-ropos-newsletter/>" %}


