Skip to main content
Why does January show your books while February shows a forecast? Every Model splits time at one date, Last close: the end of the last period you have closed, your month-end. Periods up to and including Last close are Actuals, which usually come from your accounting system. Later periods are the Forecast, calculated from your assumptions. A forecast is not a separate model: it is the later part of the same Model’s timeline.

Last close is your month-end boundary

Last close is the end of the last period whose books you have closed, such as March 31 when you have finished closing March. A new workspace starts with Last close at the end of the previous calendar month. Each Scenario has its own Last close. A new Scenario follows Main’s Last close until someone changes it in that Scenario. To set it, see Set Last close and date defaults.

Last close does not move on its own

Last close stays where it is until you or Ari move it. Connected systems keep sending new data every night, but a month joins Actuals only when Last close moves past it. That is deliberate: closing a month is your decision, and a month whose books are still open would otherwise show partial numbers as Actuals. So to have the Model pick up last month’s actuals, move Last close forward when you finish each month’s close. You can change it yourself, ask Ari to change it, or schedule a Trigger that asks Ari to move it on the same day every month, after your books usually close.

A Variable can use one formula for Actuals and another for Forecast

Actuals and Forecast are the two formula ranges of the timeline. A Variable can have formulas in each range, and a range can hold several of them: the row’s formula, a formula for one item such as Sales, and a value typed into one cell. Payroll, for example, can read your accounting system in Actuals and calculate this formula in Forecast:
The Variable keeps one meaning across both ranges: it is Payroll on both sides of Last close. A formula range is a span of time, so it applies only to a formula whose scope includes time. A formula written for Sales alone, with no time in its scope, applies in every period; it cannot be limited to Actuals or Forecast, and Ari refuses to save it with a range. Once a formula’s scope includes time, a range combines with the rest of it, so Sales can have its own Forecast formula while every other department uses a broader one. A formula whose scope spans the months, shown as All Months in the editor’s title, but that is saved with no range applies in Actuals only, as if it were an Actuals formula. A value saved in one month’s cell has no range to choose: it applies in that month, on whichever side of Last close the month falls. See How formulas work and Use different formulas for Actuals and Forecast.

What moving Last close changes

Moving Last close changes which months use the Actuals formulas and which use the Forecast formulas. No formula is rewritten; each formula range follows Last close wherever it moves. Say Last close moves from January 31 to February 28. February now reads your books through the Actuals formulas, and the Forecast starts in March. A forecast that grows from the last actual month now grows from February’s actual instead of January’s. Every table, chart, and Page shows the new split, because they all read the same Model. A month that changes side can lose its formula. A Variable with a Forecast formula and no Actuals formula has nothing that covers February once February is in Actuals, so a number there reads 0 and a date or text value reads empty. A balance that reads its previous month, such as cash, then runs forward from that 0. When Ari moves Last close, it counts the Variables the move leaves without a formula in the months that changed side and names up to 10 of them; a move made by hand does not. See Ari’s save warnings.

Connected data before and after Last close

What a Variable shows after Last close depends on whether it has a Forecast formula:
  • A Variable with a Forecast formula uses it in every month after Last close. The formula decides whether rows from your accounting system dated after Last close, such as this month’s postings so far, are read: Headcount * `Average Salary` ignores them, while a Forecast formula that reads the connected column reads the rows dated in each Forecast month.
  • A Variable that only reads its connected column shows the source’s rows in every month that has them, including months after Last close. Columns that connections bring in today start this way.
Some older imported Variables read their source only through Last close, and show 0 in Forecast months until they get a Forecast formula. For how each imported column gets its starting formula, see How imported data loads.

Fiscal years: quarters and years follow the calendar

cfo.ai has no fiscal-year setting. Quarters, half-years, and years always follow the calendar, January to December, in every table and formula. The Descriptive date format labels periods as FY2026 or Q3 FY2026, but those labels name calendar years and calendar quarters. If your fiscal year starts in another month, such as February, keep the Model monthly and ask Ari for fiscal-year totals. Ari can add them as formulas that add up your fiscal months, such as February 2026 through January 2027, or as a Canvas block that groups months into your fiscal years. You can also set a table’s date range to start in the first month of your fiscal year; that changes only which months the table shows, and its quarter and year columns still follow the calendar. Monthly numbers are the same either way; only the yearly grouping differs.