Cron Jobs

B2B Quote uses Magento's standard default cron group for expiration, reminders, draft cleanup, and revision retention. If Magento cron is not running, interactive quote actions still work, but time-based maintenance stops.

Scheduled jobs

Job name Default schedule Purpose
b2bquote_quote_check_expired Daily at 02:00 Moves eligible quotes past their validity date into the configured expired-state workflow.
b2bquote_send_expiration_reminders Hourly Sends reminders for configured intervals before expiry.
b2bquote_delete_old_drafts Daily at 03:00 Deletes draft quotes older than the configured lifetime.
b2bquote_cleanup_old_revisions Daily at 04:00 Removes eligible old revisions when revision cleanup is enabled.

Schedules use the server's cron context. Quote date decisions can also depend on the Magento store timezone, so verify both when a job appears to run on the wrong day.

Required configuration

  • Expiration reminders require email notifications, reminder delivery, intervals, and a template.
  • Draft cleanup uses the customer-experience draft lifetime. A value of 0 disables lifetime-based deletion.
  • Revision cleanup requires Enable Revision Cleanup and a positive retention period.
  • Expiration processing needs valid expired-state statuses and transitions used by the extension's automated workflow.

Verify Magento cron

From the Magento installation:

php bin/magento cron:run --group default

Run it a second time when testing newly scheduled work: the first invocation can generate schedules and the next executes jobs that are due. In production, rely on Magento's configured operating-system cron rather than manual runs.

Inspect the cron_schedule table for the exact job code and review Magento logs for errors. A row marked success proves the job returned successfully; verify the affected quote or email as well.

Troubleshooting sequence

  1. Confirm the operating-system cron invokes Magento regularly.
  2. Confirm default group schedules are being generated and executed.
  3. Filter cron_schedule by the B2B Quote job code.
  4. Check store-scoped feature settings and the quote's dates and status.
  5. Review Magento exception and system logs.
  6. For reminders, verify mail transport and capture the expected message.
  7. For cleanup, use a non-production fixture near the age boundary before enabling deletion on live data.

Do not “fix” a missed job by editing quote dates or deleting rows manually. Resolve scheduling or configuration first, then run the supported job.