Integration Series - Vena Integration
Vena Solutions Integration
What is Vena?
Vena's solution offers
Financial Planning & Analysis
Budgeting & Forecasting
CapEx Planning
Revenue Planning
Workforce Planning
Allocations
Scenario Planning
Cash Flow Planning
Sales Performance Management
Sales Planning
Incentive Compensation Management
Marketing Planning & Reporting
Financial Close Management
Financial Consolidation
Account Reconciliation
Tax Provisioning
Financial Reporting
Management Reporting
Profitability Analysis
Variance Analysis
Dashboarding
In their own words:
"Vena Helps Finance Teams Plan, Report and Gain Insights Faster
With Vena's powerful, flexible and easy-to-use platform, you can improve the efficiency of your planning processes and gain the data-driven insights you need to drive agile, confident decision making. "
To see more about Vena, please go to their website: https://www.venasolutions.com
How did we integrate with Vena?
The client wanted to use Vena's budgeting and planning tool with Vena's robust financial reporting and consolidating functionality. Our job was to push General Ledger data into Vena to provide the reporting data information. In the integration, we were required to bring in data from 4 different BC tenants and that included multiple companies in each tenant. There were over 20 distinct entities that needed pulled into Vena. In addition, the client wanted a complete nightly "refresh' of the data and an hourly upload of the current months data into Vena.
After reviewing the Vena integration options and working with their team, we decided to integrate through their API. The integration has the following objects, created inside a custom extension:
- Vena Setup table -The setup table stores the Vena Integration URL, the Vena Authorization key, the Vena ETL TemplateID, the Vena Input ID 1, and the Vena Input ID 2. In addition, we put two dataformula fields on the setup table to define the data refresh date ranges.
- Vena Job Entry table - This table stores the history of the job and reports any error codes retrieved from Vena after the data is uploaded to their service.
- Vena Mgmt Code Unit - This code unit creates a CSV file of the data, loads it into a text variable, and sends it to the Vena service. One thing that we learned is that Vena requires both a detail file and a summary file. It cannot take a detail file compile it into a summary trial balance. Thus, we have to push two files in each load for each tenant - a summary trial balance and a detailed list of transactions.
- Dynamics BC Job Scheduler to run the Vena Export Jobs
- Dynamics BC jobs to aggregate the data for each company within a tenant. We created a job that wrote each companies detailed transactions into the Analysis View Entries table of the primary company. That became the basis for creating the CSV files.
How does it work?
Initially there were plenty of challenges. One of the most difficule challenges is making sure each G/L account across the tenants and entities is properly classified within Vena. When we send the file, we send the classification for each account (For instance: Balance Sheet, Cash, etc). But, there isn't currently a way to automatically synchronize those classification across the platforms. In addition, one of the tenants has a different dimension structure which required a slight tweak to the integration. That said, the integration is currently working as intended and there is very little maintanence to keep the integration functioning.