Adding Initial Stock via Excel in Novulo

I’m exploring ways to add initial stock to a warehouse in Novulo using an Excel template. Is this possible with an import definition?

  1. Required Datasets: What datasets are necessary for this process (e.g., product IDs, initial quantities, storage locations)?
  2. Dependencies: What dependencies exist between these datasets? Are there specific order or relational requirements I should follow?
    Any guidance would be very helpful.

Hey Stephan,

I assume that you already have a database full of products that have the checkmark “is inventory product” enabled. This is a prerequisite for importing stock.

To import stock, I recommend using the “inventorycorrections” record.
By creating an Excel sheet and a custom import definition to fill the fields below, you can import a lot of corrections in one go. An inventory correction, if defined correctly, will automatically trigger the creation of stock changes and journal entries right after it is being added in an AfterCommit data process.

First, try to add an inventory correction manually. Then, if you succeed, use this explanation to create an Excel sheet that is optimized for importing data.

  1. The date time after when the new stock should be available in the warehouse for reservations. This can be a past or future date time.
  2. Use a description like “Initial stock correction” or something similar so that you can distinguish it from other corrections.
  3. Chose “Mutation” as the type, since we are mutating the current stock level (0) by adding new stock.
  4. Choose the actual quantity (float) that you want to add. The stock unit is based on the default stock unit of the product.
  5. The actual stock location within the warehouse of your choice. Add a new warehouse and a stock location under all settings if you cannot see any options here.
  6. The owner of the stock is the organization that can reserve and sell the stock. This organization also owns financial administration, where the corresponding journal entries for the new stock are stored.
  7. Choose the product that should get new stock. Only inventory products can be chosen here.
  8. This is an optional field, if you want to import individual products like serial number products or batch products with a lot number, like for example medicine. Leave it empty if none of these apply to your use case.
  9. The stock value per unit is important for the journal entries in the financial administration.
  10. Use the stock value determination type “manual” to add stock with a manually defined value. If the value is “none” add new stock value determination under “All settings”.
1 Like

So in Joachims example, your excel sheet would only contain the values for (4), (5) (if multiple locations), (7) as your keyvalue, should be unique in your excelsheet, and (9). Or maybe (9) and (7) together are your keyvalues.

The other values you’d put in your importdefinition directly as a field, or you would calculate for the given values.

Your importdefinition would contain 1 - 10 of the above list, maybe not 8.

IMPORTANT: if it is not an initial import, make sure to add something extra to your keyvalues, like the description or the date, so you don’t overwrite older inverntory corrections for the same product!

1 Like

Thank you both for the explanation. In the meantime, we have been able to build an import. If I understand correctly, Helena, are the values you mentioned always required for the import? The customer is asking for a much simpler import, with only quantity, product code, and location. I find that the date-time field must be present for the import. I could change this in the import definition, right?

I proposed to only have fields 4, 5, 7 and maybe 9 in the import, so the quantity, the stocklocation and or warehouse (if multiple options, otherwise leave it out of the sheet and make it a default value in the importdefinition), the product (either by code or EAN or some other unique identifier) and the price per unit.

It could be that 3 pieces are bought at 10 euro, and 2 more at 12 euro, so that’s why it could mean the need to include this as a keyfield.

The date will not be in the excel sheet, but it is a field that needs to be in the record. In the importdefinition you add a field that has an advanced expression saying datetime:now() or some other expression to connect it to the right datetime.

Hello, I would not recommend to add initial stock through Inventory Corrections. Instead, I’d import them as an Inventory Count.

There’s a practical component for this, M10445 that allows for selecting export/import on inventory count.

In a happy-flow scenario, import inventory corrections will give exactly the same results as importing inventory count results.

However, Inventory counts have various checks & balances to prevent user error. The inventory count will ensure that the inventory will be set to the imported values and create corrections accordingly.

With inventory corrections you have a risk of (for example) importing records twice, and then you get twice the stock. You don’t have that risk with importing Inventory counts.

1 Like