Legacy cron entry points and processors

Legacy entry points called by the framework's cron dispatcher or over HTTP, their processors, the tables they write to, and the absence of permission checks.

The legacy entry points are called by the framework's own cron dispatcher with required, typed arguments (cron_id, code, cycle, date_added, date_modified), so they cannot be called from outside; a few argument-free entry points can also be called over HTTP. None of them checks permissions or the cron secret.

Entry points and processors

Table names carry the installation's own prefix in the database.

Entry pointWhat it calls or does
cron/cronqueuemasterdata/cronqueue.run, with the cron secret injected from the configuration
cron/taxaccount, cron/missingtaxreturnnav/taxaccount.run, nav/missingtaxreturn.run
cron/invoice, cron/invoicedigest, cron/invoicedigestresponse, cron/companyfinance/invoice.addInvoice, task/navtask.addTaskInvoiceDigest, .addTaskInvoiceDigestResponse, .addTaskCompanyAddress
cron/taskthe legacy 8-step tax authority chain (digest and response, finance/invoice.addInvoice, taxpayer response, masterdata/company.addCompany, invoice data and response, finance/invoice.addInvoiceData) on the nav_task table
cron/contirtask/contir.contir (legacy posting); alongside task/contir_net_vat_gross
cron/checksitetask/checksite.checkurl: HEAD request to the configured URL, response time into site_status
cron/email, cron/emailduplicate, cron/emailproc, cron/emailred, cron/emailredinvoicelegacy IMAP-based mail processors (task/email, task/emailduplicate, task/emailproc, task/emailred, task/emailredinvoice); accounts from the tenant JSON settings; helpers of emailproc: invoice matching, saving and linking documents, mail status
cron/gdriverefreshtask/gdriverefresh: token refresh for every row of gdrive_token (Google client, Microsoft Graph token endpoint, rotated refresh token)
cron/mbvktask/mbvk.run, runDetail: list, details and bids of bailiff auctions (auction/mbvk model, auction tables)
cron/navosaper minute at most 10 unprocessed invoices: queryInvoiceData additional data into line_additional_data, marked with nav_osa_at
cron/foxpostdaily the 7-day cash-on-delivery settlement of every active FoxPost account into cod_settlement, linked to invoices (bank/foxpost); without API only existing CSV rows are linked
cron/gptworkerstarts the worker slots of the AI workflow
cron/partnerchecklog only; according to the code the partner check is not implemented
cron/auctionquery, cron/cmsqueryonly log a cron run event (event/event::addCronRunEvent)

Entry points callable over HTTP

  • cron/baserate: central bank (MNB) or ECB base rate series (bank, from, to parameters), for an empty series 10 years back, into base_rate.
  • cron/kshfetch: downloads statistical office datasets into storage/tmp_ksh/, processes them into ksh_dataset_row, deletes the files; dataset parameter.
  • cron/kshmatch: matches addresses to the statistical settlement master in batches of 500 (address_ksh).
  • cron/signupsweep: dlbtsignup->sweep(), expiry of unpaid registrations — subscription expired, company and members status = 0, without deletion.

Known limitations

None of the legacy processors' public methods (finance/invoice::addInvoice, ::addInvoiceData, masterdata/company::addCompany, task/navtask::*, task/email::run, task/emailred::run and logMessage, task/emailredinvoice::run and logMessage, task/emailduplicate::run and logMessage, task/emailproc::run and helpers, task/mbvk::run and runDetail, task/contir::contir, task/contir_net_vat_gross::contir, task/gdriverefresh::run, task/checksite::checkurl, nav/taxdebt::run, nav/taxaccount::generateTaxaccountPdf) checks permissions or the cron secret. The arguments of cron/foxpost have default values.