Skip to main content

Automated Cron Jobs

Two cron jobs automate the CVGo workflow.

Cron JobIntervalAction
CVGo ValidateEvery 1 minuteFinds the oldest Draft record and validates it
CVGo PostEvery 1 minuteFinds the oldest Validated record and posts it (skips records with unconfigured MOPs)

Flow​

Upload ZIP → [Draft] → (Validate cron) → [Validated] → (Post cron) → [Posted]
One record at a time

Cron jobs process one record per run. If you upload 10 files, they will be validated and posted sequentially (oldest first).

Disabling cron jobs​

If you prefer fully manual processing:

  1. Go to Settings > Technical > Automation > Scheduled Actions
  2. Find "CVGo POS Data Validate Cron" and/or "CVGo POS Data Posting Cron"
  3. Set to inactive

Posting cron behavior with unconfigured MOPs​

The posting cron filters out any Validated record that has at least one MOP marked Configured = False. The record stays in the queue but won't be processed until you review and Mark Configured the new MOP — see MOP Accounts.

This is a safety guard: a freshly auto-created MOP defaults to wrong journals (the user's active branch journals at create time), so posting before configuration would land journal entries in the wrong branch.

Multi-branch interaction​

The crons run as the cron user's company context. Since record rules filter by company_id IN company_ids, the cron user needs company_ids covering all six branches to process records uploaded to any branch. By default the admin user has this — verify with:

SELECT u.login, ARRAY_AGG(c.name ORDER BY c.name) AS allowed_companies
FROM res_users u
JOIN res_company_users_rel r ON r.user_id = u.id
JOIN res_company c ON r.cid = c.id
WHERE u.login IN ('__system__', 'admin')
GROUP BY u.login;