Prepare your data for import to hila
hila’s Conversational Finance application provides a standard schema for you to ingest your data. However, you can also ingest data with custom schemas.
- Standard schema — to prepare your data for ingestion according to the standard Conversational Finance schema, continue with the rest of this topic.
- Custom schema — to prepare your data for ingestion with a custom schema, see Ingest custom data.
Conversational Finance schema
Preparing your data for Conversational Finance involves two steps:
- Prepare the data (customer task)
- Configure hila to ingest the data (Professional Services or client IT task)
Prepare your data
You need to prepare your data for Conversational Finance in the form of CSV or PARQUET files that you give to your Professional Services or client IT contact for the next step.
To set up and populate Conversational Finance with pilot data for your organization, you need to prepare and provide the data in a standard format. You can do this by running a custom report in your financial system and exporting the data to a file with the expected columns and data. Or you can export data from your financial system in an Excel file and then transform this data to this standard format.
The Conversational Finance data model consists of fact tables (journal and plan) and dimension tables. The following tables show the relationships between these fact and dimension tables:
Fact tables
The fact tables are:
Journal fact table
Journal table contains transaction data from your general ledger in a normalized format. The following columns are available in the journal table:
Column Name | Data Type | Format | Examples |
---|---|---|---|
company_code | text | AUS | |
posting_date | date | YYYYMMDD | 20230215 |
fiscal_year | text | 2023 | 2023 |
fiscal_period | text | ### | 001 |
account_number | text | 0050301000 | |
company_currency | text | AUD | |
company_amount | numeric(38,2) | 5936.32 | |
global_currency | text | USD | |
global_amount | numeric(38,2) | 5936.32 | |
department_number | text | M001 | |
cost_center_number | text | US10_ADM4 | |
profit_center_number | text | YB800 | |
purchase_order_number | text | 0012000411 | |
invoice_number | text | INV-SP03278-240609 | |
supplier_number | text | 4500000942 | |
material_number | text | RM13 | |
sales_order_number | text | 0000002695 | |
customer_number | text | EWM17-CU02 | |
product_number | text | EWMS4-01 | |
transaction_type | text | Purchase | |
transaction_document_number | text | BD2301000014 | |
transaction_document_item | text | 001 | |
transaction_description | text | ||
reference procedure | text | ||
transaction_id | text |
Comments:
- Most of the columns are not required; however, the diversity of questions you can ask is directly dependent on data being available in all or most of these columns.
Plan fact table
The plan table contains actual, budget, and forecast values at your desired aggregation level and combinations. Actual values may come from journal table or from other external sources. Budget and forecast values are expected to come from planning systems. The planning systems may also feed in actual values to plan table if these values are different from journal values. So the design supports “loose integration” of journal and plan tables. However, both journal and plan fact tables use the same dimension tables in the data model.
Column Name | Data Type | Format | Examples |
---|---|---|---|
company_code | text | AUS | |
plan_category | text | ||
fiscal_year | text | 2023 | 2023 |
fiscal_period | text | 001 | |
plan_value | text | 0050301000 | |
company_currency | text | AUD | |
company_amount | numeric(38,2) | 5936.32 | |
global_currency | text | USD | |
global_amount | numeric(38,2) | 5936.32 | |
profit_center_number | text | YB800 | |
customer_number | text | 0012000411 | |
product_number | text | INV-SP03278-240609 |
Dimension tables
The following dimension tables must be populated:
- Account table
- Company table
- Config table
- Cost center table
- Customer table
- Department table
- Fiscal calendar table
- Fiscal period table
- Material table
- Material group table
- Product table
- Product group table
- Profit center table
- Supplier table
Account table
Account table contains general ledger account information. The following columns must be populated in this table for each of the accounts that appear in the journal table:
Column Name | Data Type | Format | Examples |
---|---|---|---|
account_name | text | COGS Direct Material | |
account_type | text | Expense | |
account_type_code | text | REV | |
account_subtype | text | Operating Expense | |
account_subtype_code | text | SAL_REV | |
account_category | text | Cost of Goods Sold | |
account_number | text | 0050301000 |
Comments:
- account_type column is used to categorize accounts into different types like Revenue and Expense.
- account_category column is used to categorize accounts into different categories like Cost of Goods Sold, Operating Expenses, etc.
Company table
Company provides details about your company or companies.
Column Name | Data Type | Format | Examples |
---|---|---|---|
company_name | text | EverGreen Australia Pty Ltd | |
company_country | text | Australia | |
company_region | text | Oceania | |
currency_code | text | Oceania | |
company_currency | text | AUD | |
language_code | text | en | |
company_code | text | AUS |
Config table
Column Name | Data Type | Format | Examples |
---|---|---|---|
config_key | text | latest_closed_period | |
config_value | text | 2024-P09 |
Cost center table
Column Name | Data Type | Format | Examples |
---|---|---|---|
cost_center_number | text | CC1010 | |
cost_center_name | text | Manufacturing Plant A |
Customer table
Column Name | Data Type | Format | Examples |
---|---|---|---|
customer_number | text | CS08001 | |
customer_name | text | Acme Retailers |
Department table
Column Name | Data Type | Format | Examples |
---|---|---|---|
department_number | text | DP001 | |
department_name | text | Research and Development |
Fiscal calendar table
If your organization follows a fiscal year calendar that is aligned with a calendar year, then you just need to provide the start date of the fiscal year. For example, if your fiscal year starts on 1st January, the fiscal year and calendar year are expected to be identical. If your fiscal year starts on 1st of July for example, then Q1 of the fiscal year would be 1st July to 30th September, Q2 would be 1st October to 31st December, and so on. In such cases, Professional Services will be able to generate a fiscal calendar table for queries automatically. However, if your organization follows a non-standard fiscal year calendar, you will need to provide a fiscal_calendar.parquet
file.
Column Name | Data Type | Format | Examples |
---|---|---|---|
fiscal_year | text | 2023 | 2023 |
fiscal_period | text | ### | 001 |
fiscal_quarter | text | Q# | Q1 |
fiscal_month | text | MM | 01 |
posting_date | text | YYYYMMDD | 20230215 |
Comments:
- If your organization follows a fiscal year calendar that is aligned with a calendar year, then you just need to provide the start date of the fiscal year.
Fiscal period table
Column Name | Data Type | Format | Examples |
---|---|---|---|
fiscal_quarter | text | Q# | Q1 |
fiscal_month | text | MM | 01 |
fiscal_year | text | 2023 | 2023 |
fiscal_period | text | ### | 001 |
Material table
Column Name | Data Type | Format | Examples |
---|---|---|---|
material_name | text | Polyethylene | |
material_group_number | text | MG0010 | |
material_number | text | M090001 |
Material group table
Column Name | Data Type | Format | Examples |
---|---|---|---|
material_group_name | text | Plastics | |
material_group_number | text | MG0010 |
Product table
Column Name | Data Type | Format | Examples |
---|---|---|---|
product_name | text | Organic Almond Milk | |
product_group_number | text | PG0008 | |
product_number | text | P060001 |
Product group table
Column Name | Data Type | Format | Examples |
---|---|---|---|
product_group_name | text | Dairy alternatives | |
product_group_number | text | PG0008 |
Profit center table
Column Name | Data Type | Format | Examples |
---|---|---|---|
profit_center_name | text | Beverage Division | |
profit_center_number | text | PC0001 |
Supplier table
Column Name | Data Type | Format | Examples |
---|---|---|---|
supplier_name | text | Acme Packaging Solutions | |
supplier_number | text | SP03001 |
Configure hila
After you have prepared the data, send the files to your Professional Services or client IT contact. They will configure hila to ingest the data and set up Conversational Finance for your organization.