# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.ropo.com/guides/basics/invoice/prices-on-the-invoice-row.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
