---
title: "Create a new Income | Nuvio Docs"
description: "Creates a new income from scratch"
url: https://nuvio.io/docs/api/create-income
---

# Create a new Income

POST `/v1/income`

Needs an API key with the [`write`](https://nuvio.io/docs/api/authentication#scopes) scope.

## Parameters

-   `description` string Required

    Description of the income. This will also be its title in the Nuvio Platform.

-   `invoiceDate` string Required

    The date of the income. Should be formatted in `YYYY-MM-DD` format.

-   `dueDate` string Required

    Due date of the payment for this income. Should be formatted in `YYYY-MM-DD` format.

-   `items` array of objects Required

    List of the items that are sold in this income.

    Show child parameters Hide child parameters

    -   `productId` string

        32-character unique ID of the product. If you don't know the ID, you can also provide `productCode` instead of this field. If both of them are provided, `productId` will be used only.

    -   `productCode` string

        User-generated custom unique code of the specific product. If `productId` is also provided, it will override this field.

    -   `quantity` integer

        Quantity of the sold items. It should be a positive integer.

    -   `itemTaxes` array of strings

        A list of the taxes to be applied to the related line item. Provide a list of taxes with their 32-character unique ID.

    -   `unitPrice` number

        Net Amount of a single product sold. Should be a positive decimal number with 2 decimal points. `eg. 32.43`

## More parameters

-   `invoiceNumber` string

    Invoice number formatted in string. Accepts alpha numeric characters and '-' symbol.

-   `currency` string

    3-letter currency code. You can find all the available currencies here.

-   `projectId` string

    32-character unique ID of the related project. If you don't know the ID, you can also provide `projectCode` instead of this field. If both of them are provided `projectId` will be used only.

-   `projectCode` string

    User-generated custom code of the related project. If `projectId` is also provided, it will override this field.

-   `customerId` string

    32-character unique ID of the customer. If you don't know the ID, you can also provide `customerCode` instead of this field. If both of them are provided, `customerId` will be used only.

-   `customerCode` string

    User-generated custom unique code of the specific customer. If `customerId` is also provided, it will override this field.

-   `tags` array of strings

    List of the tags that are related to this income. Provide a list of tags with their 32-character unique ID.

-   `exchangeRate` number

    If currency is different than your company's functional currency, this will be the exchange rate that Nuvio will use while converting the amounts of this expense to company's functional currency. Should be number with 4 decimal points. `eg. 32.4325`

## Returns

The created income.

`401`

No usable `Authorization: Bearer {token}` header (1002).

`403`

The access token is unknown, or lacks the scope this route needs (1001).

POST /v1/income

```
curl -X POST https://api.nuvio.io/v1/income \
  -H "Authorization: Bearer $NUVIO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Office supplies",
    "invoiceDate": "2026-11-05",
    "dueDate": "2026-11-05",
    "items": [
      {}
    ]
  }'
```

Response

```
{
  "success": true,
  "errors": null,
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "invoiceNumber": "INV-2026-0042",
    "invoiceStatus": "Not Generated",
    "paymentStatus": "Pending",
    "description": "Office supplies",
    "dueDate": "2026-11-05",
    "invoiceDate": "2026-11-05",
    "currency": "USD",
    "exchangeRate": 1,
    "project": {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Acme Supplies",
      "projectCode": "ACME-01"
    },
    "customer": {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Acme Supplies",
      "entityCode": "ACME-01"
    },
    "tags": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Acme Supplies"
      }
    ],
    "subTotal": 100,
    "totalTax": 100,
    "totalAmount": 100,
    "remainingAmount": 100,
    "items": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "productCode": "ACME-01",
        "productId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "productName": "Acme Supplies",
        "quantity": 1,
        "unitPrice": 100,
        "totalTaxes": 100,
        "totalAmount": 100,
        "itemTaxes": [
          {
            "taxId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
            "taxName": "Acme Supplies",
            "taxAmount": 100
          }
        ]
      }
    ],
    "matchedPayments": [
      {
        "bankAccountId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "bankAccountName": "Acme Supplies",
        "transactionId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "amount": 100,
        "currency": "USD",
        "description": "Office supplies",
        "transactionDate": "2026-11-05"
      }
    ]
  }
}
```
