Skip to main content

User guide for dynamic tables

How to use dynamic tables to manage variable data within a contract?

Glossary

Concept

Description

Objects

Database entries (e.g., products sold, stores, discounts, etc.) used in a dynamic table.

Smart fields

Properties that define objects (these do not appear in the list of existing smart fields).

Object instance

An entry or record in your table linked to an object.

Add a dynamic row

Add a dynamic row within a contract.

Catalogs

Saved and reusable object instances.

Related fields

Link between objects (e.g., product → discount).

Definition

A dynamic table is a component that can be inserted into a contract type, allowing the management of a variable number of rows.

It is used when contractual information is not predetermined, such as in purchase contracts, service agreements, or software license sales.

Use cases covered

  • Purchases / commercial contracts: Lists of products or services purchased for stores

  • Service provision: A variable number of rows depending on the services sold

  • Sales / quotes: A variable number of rows depending on the products sold

Key concepts

Custom objects

Dynamic rows are built around custom objects.
An object can represent a product, a store, a service, etc.

Each row in the table is an instance of this object with its own properties.

Examples:

  • Object "Product" → Fields: name, price, quantity

  • Object "Store" → Fields: name, region, address

  • Object "Service" → Fields: type, frequency, price

Each dynamic table can only be linked to one object.
An object is reusable across different contract types.
Using the same object in multiple contracts allows data consolidation across negotiated contracts on the platform.

Smart fields specific to the object

These smart fields are different from those in dynamic components. They cannot be used in views or filters.

They are the columns of the table, configured for the object.

Examples:

  • Text → Alphanumeric field

  • Number → Numeric field

  • Dropdown list → Single or multiple choice

  • Date → Date field

  • Relation → Field that references a value from another object

    • Example:
      If I have Table A for products and Table B for discounts, I can apply in Table B a discount to products listed in Table A.

Inserting dynamic rows in a table

A "Add a dynamic row" button allows users to add dynamic rows to tables within a contract type.

Configuration

In contract types

  • Configuration is done only in the contract type for now (no dynamic row insertion directly within a contract).
    → Display order depends on the order set in the contract type.

From contracts

Once the contract is generated from the contract type, users can:

  • Manually enter as many rows as needed in the dynamic table (only possible if no catalog is set for the table's object)

    • or import an Excel file to populate the dynamic table

  • Select instances from a predefined catalog (only possible if a catalog has been configured)

Dynamic tables cannot be filled in by the counterparty. The counterparty does not have access to dynamic tables and cannot add, edit, or delete rows.

To collect information from the counterparty, use smart fields assigned to the counterparty. These fields will appear in the form accessible to the counterparty, unlike dynamic tables.

Catalog import

  • The import is done using Excel templates generated and downloadable from the interface.

  • The import columns must match the object's properties.

  • Items can only be added to the catalog from the catalog itself, not from the contract, for better data tracking.

Did this answer your question?