Skip to content

The Generate export button is greyed out

You opened a cycle ready to push to Infotech and the Generate export button is disabled. This is almost always one of five things; work them top to bottom.

1. The cycle has unresolved blocking issues

Validation has flagged at least one blocking issue, and READY_FOR_EXPORT is gated on a clean validation run. Until every blocker is resolved or formally overridden, the cycle stays in SUBMITTED or ACTION_REQUIRED and the export button is locked.

Check: open the cycle and click the Issues tab. Look at the severity column — any row with Blocking prevents export. The cycle status banner at the top of the page also tells you: if it reads ACTION_REQUIRED or SUBMITTED, you're not ready to export yet.

Fix:

  • Resolve each blocking issue — usually by uploading a missing document, correcting a contact field, or re-running validation after the client uploads what was asked for. See Resolve a blocking validation issue.
  • If the issue is genuinely an exception (e.g. an over-threshold salary delta the client has confirmed verbally), use the override flow. Only a PAYROLL_LEAD can override — see Override an issue.
  • If a document looks uploaded but validation is still flagging it, see Validation keeps blocking.

2. The cycle is already exported

The cycle has already moved past READY_FOR_EXPORT. The button hides itself rather than letting you accidentally double-export.

Check: the cycle status banner reads EXPORTED, OUTPUT_IMPORTED, CLIENT_REVIEW, or anything later. The Export tab on the cycle shows at least one export with a download link and a generated-at timestamp.

Fix: in normal operation, you don't need to re-export — proceed to Upload the Infotech output or Request client approval. If you genuinely need a fresh export (the previous file was wrong), only a PAYROLL_LEAD can reopen the cycle. Talk to your lead.

3. The client has no active UPLOAD template

Generating an export requires an active import template configured for the client — that's the workbook shape Infotech expects. If no template is active (or the only one was deactivated mid-cycle), the export job has nowhere to write rows.

Check: open the client (from Clients in the sidebar) → Templates tab. Filter by Active. There should be at least one template with a Direction of UPLOAD (or IMPORT) and Is active ticked.

Fix: activate or upload a template — see Upload an Infotech import template. After activating, return to the cycle and refresh — the button should re-enable.

4. Your role doesn't grant Generate export

The action is gated by the GENERATE_EXPORT permission. Bookkeepers, Senior Accountants, Client Submitters, and Client Approvers don't have it.

Check: look at your own role in the Team page (under Administration in the sidebar). The button is greyed for everyone except PAYROLL_EXECUTIVE, PAYROLL_LEAD, and PLATFORM_ADMIN.

Fix: ask a Payroll Executive or Payroll Lead on your team to run the export. If your role is wrong on your account, a Platform Admin can fix it via Manage staff users. The full role-to-action mapping is in the RBAC matrix.

5. The submission you're looking at isn't the latest

You're viewing the cycle's submission tab and the version you're seeing isn't the one validation passed against. This is rare but real — it happens when a client re-submits while you're mid-review and the page hasn't refreshed.

Check: open the cycle's Submissions tab. Look at the Version column on each row. The validation results at the top of the cycle apply to the latest submission only. If the latest submission is newer than the latest validation run, validation hasn't caught up yet.

Fix: click Re-run validation on the cycle. Wait ~5 seconds. The button will re-enable if the new validation pass is clean.

Still not finding it?

If all five check out — issues resolved, status is READY_FOR_EXPORT, an active template exists, your role grants the action, and the latest submission has been validated — and the button is still disabled, hard-refresh the page. Browser-cached state from a previous status occasionally lingers.

If a hard refresh doesn't help, the cycle's underlying state may be inconsistent — escalate to the on-call engineer using the tenant leak suspected runbook (closest match for "the UI says one thing, the data says another"). Don't try to force the export through.

Internal use only — BreezyCorp