Skip to main content

Keeping Finsyte Workbooks Fast

Finsyte formulas run in the same Excel calculation as the rest of the workbook. These settings and habits keep them fast as a report grows.

The causes in Speeding Up Slow Excel Workbooks apply to Finsyte workbooks too.

Finsyte Functions Aren't Volatile

A Finsyte formula runs again when one of its inputs changes, on a full recalculation (Ctrl+Alt+F9) and when you refresh. The one exception is LastDataRefresh, which is volatile so it can show when data last came back from NetSuite.

Keep Volatile Functions out of Finsyte Inputs

A volatile input undoes that. If a Period cell holds =MONTH(TODAY()), the subsidiary comes from the tab name through CELL("filename"), or an input is built with OFFSET, INDIRECT or a mismatched SUMIF, every Finsyte formula that reads it runs again on every recalculation. The cell shows #GETTING_DATA, then Finsyte returns the cached value, or fetches the value from NetSuite again when Cache Function Execution is off or the cached value has expired. When two or more Finsyte formulas read a volatile input, each result that comes back starts a recalculation that restarts the others, and Excel keeps recalculating about every 2 seconds for as long as the workbook is open.

Fix: type the fiscal year and period into the input cells, or use a relative period: <Current> or <Current - 1> in the Period cell resolves to the current or prior period when the formula runs, and sets the fiscal year too. The Finsyte Claude skill builds its inputs the same way.

Let the Cache Do Its Work

In Preferences > Caching, Cache Function Execution keeps each result in memory. Cached open-period values expire 12 hours after their last use (Expire Cached Items After), and closed-period values don't expire. Store Values on Open loads the values saved in the workbook into the cache when the workbook opens, so opening a finished report doesn't query NetSuite again.

Keep One Finsyte Function per Cell

Store Values on Open skips a Finsyte function nested inside another Excel function, such as =IF(FSN.GLAccountBalance(...)>0,...), so that formula goes back to NetSuite the first time it recalculates. Keep each Finsyte function in its own cell and reference that cell, as Best Practices for Using Finsyte Functions describes. The unwrapped cell keeps drill-down too.

Closed Periods Load from the Summary Cache

Balances for closed periods load from the summary cache, which Finsyte builds in the background and turns on when the build finishes. If you turn it off, it stays off until you turn it back on. Open-period values come from NetSuite, so the number of open-period formulas sets how long a refresh takes.

Refresh Only What You Need

Refresh > Entire Workbook reloads the list data, clears the cached open-period values and recalculates every formula in every open workbook. Current Sheet recalculates only the active sheet, which is quicker when that's the sheet you need. While you build or rework a report, Pause Connection stops NetSuite calls; formulas without a cached value show 0 until you select Resume Connection.