---
title: "Advanced Number Series"
url: "https://help.tabidoo.cloud/en/article/advanced-number-series"
language: "en"
last_updated: "2025-06-24T08:54:11.511Z"
---

# Advanced Number Series

In Tabidoo, you can automatically generate sequential numbers for your records. You can even include prefixes, starting values, or reset the numbering monthly or yearly based on a selected date field (e.g. invoice date).

To generate an automatic number in Tabidoo follow these steps:

-   Add a new field, select field type "**Number**"  

![](https://cdn-assets.productfruits.com/7cf91fd2-8df2-4a29-ba47-10be010645b1)

-   In the field’s **Advanced settings**, enable: **Automatic number series (1...x)**

![](https://cdn-assets.productfruits.com/5f5999e3-bb42-4034-b83b-e8e358698df5)

-   Click on **Choose fields...** to define how the numbering should behave across the table.

> This field will automatically increment with each new record.

## Numbering Based on Date Field![](https://cdn-assets.productfruits.com/4a052ad5-fc24-4c3a-9152-c25a5456b594)

You can configure your numbering to **restart each month or year**, based on a selected date field (e.g. `InvoiceDate`, `ContractDate`).

### Setup Instructions

-   Add a **Number** field and enable the **Automatic identifier** option.
-   Click **Choose fields...**
-   Select a **Date field** to group by (e.g. `InvoiceDate`)

Choose:

-    **Monthly** → numbering resets every month
-    **Yearly** → numbering resets every year

### Example: Monthly Invoice Numbers

| `InvoiceDate` | `Number` | Result |
| --- | --- | --- |
| 2025-06-01 | 1 | `INV-001/06/2025` |
| 2025-06-15 | 2 | `INV-002/06/2025` |
| 2025-07-01 | 1 | `INV-001/07/2025` |

**Formula for formatted output:**

```javascript
'INV-' + Number.toString().padStart(3, '0') + '/' + (InvoiceDate.getMonth() + 1).toString().padStart(2, '0') + '/' + InvoiceDate.getFullYear()
```

> Note: `+1` is needed because JavaScript months are zero-based (`0 = January`).

* * *

## Example: Yearly Contract Numbers

```javascript
'CONTRACT-' + (Number + 1000) + '/' + ContractDate.getFullYear()
```

This will result in:

-   `CONTRACT-1001/2025`
-   `CONTRACT-1002/2025`

… and reset to `1001/2026` in the next year.

* * *

## Hide Helper Fields (Optional)

If you want to hide technical or calculated fields:

Open the field’s **Advanced settings**

Disable:

-   *Show in grid*
-   *Show in edit form*

## Add a Starting Number (e.g. from 900001)

If you want to begin from a higher number, follow these steps:

-   Create the base `Number` field with automatic identifier.
-   Add a new field of type **Calculated field**.
-   In the formula editor, use:

![](https://cdn-assets.productfruits.com/0304f2ec-712c-424c-ad8d-0a0b2e3aaa96)

`Number + 900000`  
Replace Number with the actual field name – always insert from the right-hand field list, not manually typed!

##  Add a Prefix (e.g. `INV-900001`)

Use this formula in a **Calculated field**:

```javascript
'INV-' + Number.toString()
```

> `'INV-'` can be changed to any prefix you need. This converts the number into a formatted string.

![](https://cdn-assets.productfruits.com/633b28a0-d06b-4b3d-a7b4-8faab791ca5e)

Combine Prefix + Starting Number  
In the case you want to mix these two options mentioned before, please enter the following JavaScript to the Formula editor:

```javascript
'prefix' + (Number + 90000).toString();
```

![](https://cdn-assets.productfruits.com/e26289ed-fecc-4b45-b3e5-24fdd4e36e5b)

If you want to hide these fields in the table or in the edit form, open the advanced features and click on the option "**Show in grid**"/ "**Show in edit form**". For more information, please visit the chapter - [Advanced Features in Table Fields.](https://help.tabidoo.cloud/en/article/advanced-features-in-table-fields)
