> ## Documentation Index
> Fetch the complete documentation index at: https://docs.equated.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Close the month

> Prove your books against the bank statement at the end of each period.

export const AgentChat = ({messages = []}) => <div style={{
  border: "1px solid rgba(128,128,128,0.18)",
  borderRadius: "12px",
  padding: "16px",
  background: "rgba(128,128,128,0.05)",
  display: "flex",
  flexDirection: "column",
  gap: "14px",
  fontSize: "14px",
  lineHeight: 1.5,
  color: "inherit"
}}>
    {messages.map((m, i) => m.from === "you" ? <div key={i} style={{
  alignSelf: "flex-end",
  maxWidth: "85%",
  textAlign: "right"
}}>
          <div style={{
  fontSize: "11px",
  opacity: 0.5,
  marginBottom: "3px"
}}>You</div>
          <div style={{
  display: "inline-block",
  background: "rgba(128,128,128,0.16)",
  color: "inherit",
  padding: "8px 12px",
  borderRadius: "12px 12px 2px 12px",
  whiteSpace: "pre-wrap",
  textAlign: "left"
}}>
            {m.text}
          </div>
        </div> : <div key={i} style={{
  alignSelf: "flex-start",
  maxWidth: "90%"
}}>
          <div style={{
  display: "flex",
  alignItems: "center",
  gap: "6px",
  marginBottom: "4px"
}}>
            <span style={{
  fontSize: "11px",
  opacity: 0.5
}}>Agent</span>
            {m.tool ? <span style={{
  fontSize: "11px",
  opacity: 0.6,
  background: "rgba(128,128,128,0.15)",
  borderRadius: "6px",
  padding: "1px 6px"
}}>
                used {m.tool}
              </span> : null}
          </div>
          <div style={{
  whiteSpace: "pre-wrap"
}}>{m.text}</div>
          {m.choices ? <div style={{
  display: "flex",
  flexWrap: "wrap",
  gap: "6px",
  marginTop: "10px"
}}>
              {m.choices.map((c, j) => {
  const rec = c.toLowerCase().includes("recommend");
  return <span key={j} style={{
    borderRadius: "999px",
    padding: "4px 12px",
    fontSize: "13px",
    color: "inherit",
    border: "1px solid " + (rec ? "rgba(128,128,128,0.45)" : "rgba(128,128,128,0.25)"),
    background: rec ? "rgba(128,128,128,0.12)" : "transparent",
    fontWeight: rec ? 600 : 400
  }}>
                    {c}
                  </span>;
})}
            </div> : null}
        </div>)}
  </div>;

Closing a period means proving your books against the bank statement. Most people do it monthly, but the same workflow works for a quarter, a year, or any reporting period.

The goal is simple: each bank or credit account should match the statement's closing balance.

## When to use this

Use this when you want to answer:

* Are all bank transactions accounted for?
* Are supplier bills and customer invoices in the right period?
* Did a transfer get miscounted as income or expense?
* Do the books match the bank statement?

## Two ways to do it

<Tabs>
  <Tab title="In the app">
    <Steps>
      <Step title="Refresh bank feeds">
        Start with the bank. If a feed is stale, reconnect or refresh it before trusting the checklist.
      </Step>

      <Step title="Categorize and confirm transactions">
        Clear anything uncategorized or still in the inbox. Once confirmed, it counts in the ledger.
      </Step>

      <Step title="Mark internal transfers">
        Pair money moved between your own accounts so it doesn't show up as income or expense.
      </Step>

      <Step title="Confirm bills and invoices">
        Make sure supplier bills and customer invoices that belong in the period are recorded.
      </Step>

      <Step title="Close payables and receivables">
        Link payment transactions to bills and collection transactions to invoices.
      </Step>

      <Step title="Link receipts and support">
        Link receipts, contracts, and supporting documents so the period is reviewable.
      </Step>

      <Step title="Reconcile each account">
        Prove every bank and credit account against its statement's closing balance — see [Reconcile an account](/workflows/reconcile-an-account). Each account carries its own proof; the period is closed when they all tie out.
      </Step>
    </Steps>

    **What Equated checks:** stale bank feeds, bills or invoices still in the inbox, unlinked receipts, transfers that need review, and payables or receivables that may need settlement. Unconfirmed transactions aren't here: each account counts its own, for its own statement period.
  </Tab>

  <Tab title="With your AI">
    Ask your AI to prepare the close. It runs the checklist and shows what's blocking a clean month. Not sure what to ask? The **Use your AI agent** card on the Reconciliation page copies a ready-made prompt.

    <AgentChat
      messages={[
  { from: "you", text: "Prepare the June close." },
  { from: "agent", tool: "equated", text: "Reviewed all 4 accounts. 3 tie out. Standing in the way:\n\n• 2 uncategorized transactions\n• 1 bill with no payment linked\n• BMO chequing is $312 off. A transfer leg looks unpaired.\n\nShould I fix the uncategorized ones and pair the transfer?", choices: ["Yes, go ahead", "Show me first"] },
  { from: "you", text: "Show me first." },
  { from: "agent", tool: "equated", text: "The $312: transfer from BMO to USD savings has one leg categorized. The other (Txn 3814, -$2,500 CAD) is still in the inbox. Pairing them clears it. The 2 uncategorized are a $97 PayPal fee and a $26 software charge." },
]}
    />
  </Tab>
</Tabs>

<Tip>
  For why reconciliation matters, how the math works, and what's shipped versus coming, see [Reconciliation](/concepts/reconciliation).
</Tip>
