Applies to: Customers using the NetSuite API integration with multi-currency consolidation
Overview
The NetSuite API integration syncs your transactional data into Cube automatically every day. However, Cumulative Translation Adjustment (CTA) is a calculated field within NetSuite, not transactional data, so it is not included in the daily sync.
To keep your balance sheet complete in Cube, the CTA value needs to be published to Cube each month after close using the Spreadsheet App. This is standard practice for any NetSuite-to-Cube API connection and takes just a few minutes once your template is set up.
Before you begin
Confirm the following, otherwise the publish will fail or the Publish button will be inactive:
- You have publish permissions. Publishing requires the appropriate data access group permissions and range-specific publish access. Without them, the Publish button in the Spreadsheet App will be grayed out. Contact your Cube Admin if you need access.
- The target scenario is editable. Scenarios that use data imported from your source system are protected by Actuals write protection and can only be modified by Cube Admins. If you plan to publish CTA into your Actuals scenario, work with your Cube Admin or Implementation Manager to confirm you have the necessary access, or that an Admin will handle the publish.
- You're publishing to child dimension members only. Data in Cube is stored at the child dimension member level. Parent members and members sourced from formulas or tags calculate their values from children and can't receive published data. Attempting to publish to them returns a "No data changed" error.
- The month is closed in NetSuite. Wait until the month is finalized before publishing, since the CTA value can change until close is complete.
Step 1: Create your CTA publish template (one-time setup)
If you don't already have a CTA template from your Implementation Manager, you can build one in a few minutes in any Cube-connected spreadsheet:
- Add a dedicated tab to a Cube-connected workbook (e.g., name it "CTA Publish").
Lay out one column for each of your Cube dimensions. A typical layout looks like:
- Column B: Department
- Column C: Account - your Cumulative Translation Adjustment account
- Column D: Entity
- Column E: Class
Include a column for every dimension in your Cube so the publish is fully specified. If your workspace has additional dimensions, add a column for each.
- Add time and scenario headers. Put the scenario (e.g., Actuals) and the month across the top so each month gets its own value column. This lets you reuse the same template every month instead of rebuilding it.
- Choose your dimension coding. For each dimension, enter the child member the CTA amount should be coded to. The "Other" member of each dimension (Entity: Other, Department: Other, Class: Other) is generally the cleanest choice for a consolidation-level adjustment, but you can code it to a specific entity, department, or class if you prefer. Remember these must be child members, not parents.
Step 2: Publish CTA each month
- Pull the CTA value from NetSuite. Run your balance sheet in NetSuite for the month you're publishing and note the CTA amount.
- Open your CTA publish template and paste the CTA value into the cell for the current month. Each month gets its own column, so December's value goes in the cell to the right of November's, and so on.
- Define the range. Highlight the full range including the dimension columns and the value cell(s), then click Select range in the Cube sidebar to make it the active range.
- Verify the preview. Check the preview rows in the sidebar to confirm everything is mapped correctly:
- The correct CTA account
- The intended dimension members (e.g., Entity: Other, Class: Other, Department: Other)
- The correct month and scenario
- Publish. Under Publish > Data, add an optional message in the text box (e.g., "November CTA publish") so the context is captured in the audit trail, then click the blue Publish Data button. A green confirmation notification appears in the Spreadsheet App when the publish succeeds.
Tip for later months: Once your range spans multiple months, you don't need to republish everything. Highlight just the new month's cell(s) within the existing range, check Use selected area under Publish > Data, and publish only the highlighted cells.
Step 3: Verify the publish (optional but recommended)
To confirm the value landed correctly:
- Open a new tab (or use space in the same sheet).
- Set up a small fetch: select your CTA account, the scenario, and the month you just published. When you select the range, any unspecified dimensions will default to "Other."
- Click Fetch. The value returned should match the amount you just published.
Undoing a publish
If you publish the wrong value, you can undo the publish from the Spreadsheet App, the Audit Trail, or a Web Report, as long as the data hasn't been changed by another publish, import, or system event since. Otherwise, correct the value in your template and publish again.
Maintaining the template
Do not rebuild the template each month. Keep it as-is and simply add the new month's value in the next column after each close, then repeat the select-and-publish steps. Publishing CTA monthly, once the number is finalized, is a good habit to build into your regular Cube maintenance routine.
Related tips
- Publishing budgets works the same way. The same template structure (dimensions in columns, months across the top) applies to budget publishing. Just publish to your budget scenario instead of Actuals. Budget scenarios aren't subject to Actuals write protection, though your team may block specific scenarios for version control.
- Why doesn't CTA sync automatically? The NetSuite API brings in transactional data only. Because NetSuite calculates CTA at report time rather than storing it as transactions, it must be published to Cube manually. This applies to all NetSuite API connections.
Questions?
Reach out to your Implementation Manager or contact Cube Support.