Month end checklist for bookkeepers and accountants

Updated 2026-10-30

The close lives in someone's head, or in a spreadsheet nobody opens. Then a client asks if March is done, and you have to check. I would rather tick each step in a form, so there is one row per client per month.

Before month end

Share one link with your team, or with a client who keeps their own books. Decide what "ready for review" means in your practice and write it in the form description.

While you close

Whoever closes the books ticks each step: bank accounts reconciled, card statements matched, sales invoices and supplier bills entered, payroll posted, receipts collected and sales tax amounts checked. They count unmatched items and overdue invoices, link the reports folder, list open questions and pick a status. A team member's AI might ask "Which month are you closing?" Then "Are the bank accounts reconciled?" Then "How many items are still unmatched?" It shows the answers and sends only after a yes. See agent-fillable forms.

After the form is in

Filter the CSV by client and month to see the history, and by status to chase blocked clients. The form keeps no account numbers. Use it as a bookkeeping checklist template for any month. Browse forms for accountants, lawyers and consultants. A tax organizer collects year end facts from clients, and a referral form helps you grow the practice.

Questions

Who should fill it in each month?

Whoever closes the books: you, a team member or the client's own bookkeeper. The completed_by column shows who did it, so a missed step is easy to trace.

Can one form serve several clients?

Yes. The first question names the client, so one form and one link give you a CSV with every client and every month. Filter by client name to see the history.

How do I see which months are not closed yet?

Filter the CSV by the close_status column. Rows marked waiting or blocked show where to chase. A month with no row has not been submitted.

Try the form

Live demo ยท nothing is saved

Month end close

Complete one form for each client and each month. Tick only what is finished, and use the notes for anything still open.

All bank accounts reconciled
Card statements matched
Sales invoices entered
Supplier bills entered
Payroll posted
Receipts collected for the month
Loan and asset balances checked
Sales tax or VAT amounts checked
Where does the month stand? (required)

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Month end close",
  "description": "Complete one form for each client and each month. Tick only what is finished, and use the notes for anything still open.",
  "fields": [
    {
      "id": "client_or_business",
      "label": "Client or business name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "month_closed",
      "label": "Last day of the month you are closing",
      "type": "date",
      "required": true
    },
    {
      "id": "completed_by",
      "label": "Who completed this checklist?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "bank_accounts_reconciled",
      "label": "All bank accounts reconciled",
      "type": "checkbox"
    },
    {
      "id": "card_statements_matched",
      "label": "Card statements matched",
      "type": "checkbox"
    },
    {
      "id": "sales_invoices_entered",
      "label": "Sales invoices entered",
      "type": "checkbox"
    },
    {
      "id": "supplier_bills_entered",
      "label": "Supplier bills entered",
      "type": "checkbox"
    },
    {
      "id": "payroll_posted",
      "label": "Payroll posted",
      "type": "checkbox"
    },
    {
      "id": "receipts_collected",
      "label": "Receipts collected for the month",
      "type": "checkbox"
    },
    {
      "id": "loan_and_asset_balances_checked",
      "label": "Loan and asset balances checked",
      "type": "checkbox"
    },
    {
      "id": "sales_tax_checked",
      "label": "Sales tax or VAT amounts checked",
      "type": "checkbox"
    },
    {
      "id": "unmatched_items",
      "label": "Transactions still unmatched",
      "type": "number",
      "min": 0,
      "max": 100000
    },
    {
      "id": "overdue_invoice_count",
      "label": "Customer invoices now overdue",
      "type": "number",
      "min": 0,
      "max": 100000
    },
    {
      "id": "reports_folder_url",
      "label": "Link to this month's reports",
      "type": "url"
    },
    {
      "id": "open_questions",
      "label": "Open questions for the client",
      "type": "long_text",
      "max_length": 2000
    },
    {
      "id": "close_status",
      "label": "Where does the month stand?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Ready for review",
        "Waiting for client answers",
        "Blocked"
      ]
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Month end close","description":"Complete one form for each client and each month. Tick only what is finished, and use the notes for anything still open.","fields":[{"id":"client_or_business","label":"Client or business name","type":"short_text","required":true,"max_length":150},{"id":"month_closed","label":"Last day of the month you are closing","type":"date","required":true},{"id":"completed_by","label":"Who completed this checklist?","type":"short_text","required":true,"max_length":150},{"id":"bank_accounts_reconciled","label":"All bank accounts reconciled","type":"checkbox"},{"id":"card_statements_matched","label":"Card statements matched","type":"checkbox"},{"id":"sales_invoices_entered","label":"Sales invoices entered","type":"checkbox"},{"id":"supplier_bills_entered","label":"Supplier bills entered","type":"checkbox"},{"id":"payroll_posted","label":"Payroll posted","type":"checkbox"},{"id":"receipts_collected","label":"Receipts collected for the month","type":"checkbox"},{"id":"loan_and_asset_balances_checked","label":"Loan and asset balances checked","type":"checkbox"},{"id":"sales_tax_checked","label":"Sales tax or VAT amounts checked","type":"checkbox"},{"id":"unmatched_items","label":"Transactions still unmatched","type":"number","min":0,"max":100000},{"id":"overdue_invoice_count","label":"Customer invoices now overdue","type":"number","min":0,"max":100000},{"id":"reports_folder_url","label":"Link to this month'\''s reports","type":"url"},{"id":"open_questions","label":"Open questions for the client","type":"long_text","max_length":2000},{"id":"close_status","label":"Where does the month stand?","type":"single_choice","required":true,"options":["Ready for review","Waiting for client answers","Blocked"]}]}'

JSON definition

json
{
  "title": "Month end close",
  "description": "Complete one form for each client and each month. Tick only what is finished, and use the notes for anything still open.",
  "fields": [
    {
      "id": "client_or_business",
      "label": "Client or business name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "month_closed",
      "label": "Last day of the month you are closing",
      "type": "date",
      "required": true
    },
    {
      "id": "completed_by",
      "label": "Who completed this checklist?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "bank_accounts_reconciled",
      "label": "All bank accounts reconciled",
      "type": "checkbox"
    },
    {
      "id": "card_statements_matched",
      "label": "Card statements matched",
      "type": "checkbox"
    },
    {
      "id": "sales_invoices_entered",
      "label": "Sales invoices entered",
      "type": "checkbox"
    },
    {
      "id": "supplier_bills_entered",
      "label": "Supplier bills entered",
      "type": "checkbox"
    },
    {
      "id": "payroll_posted",
      "label": "Payroll posted",
      "type": "checkbox"
    },
    {
      "id": "receipts_collected",
      "label": "Receipts collected for the month",
      "type": "checkbox"
    },
    {
      "id": "loan_and_asset_balances_checked",
      "label": "Loan and asset balances checked",
      "type": "checkbox"
    },
    {
      "id": "sales_tax_checked",
      "label": "Sales tax or VAT amounts checked",
      "type": "checkbox"
    },
    {
      "id": "unmatched_items",
      "label": "Transactions still unmatched",
      "type": "number",
      "min": 0,
      "max": 100000
    },
    {
      "id": "overdue_invoice_count",
      "label": "Customer invoices now overdue",
      "type": "number",
      "min": 0,
      "max": 100000
    },
    {
      "id": "reports_folder_url",
      "label": "Link to this month's reports",
      "type": "url"
    },
    {
      "id": "open_questions",
      "label": "Open questions for the client",
      "type": "long_text",
      "max_length": 2000
    },
    {
      "id": "close_status",
      "label": "Where does the month stand?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Ready for review",
        "Waiting for client answers",
        "Blocked"
      ]
    }
  ]
}