Scheduled imports — where the data comes from, how often, and which columns it writes. Core.
feeds lands data a tenant receives on a schedule rather than types in: head-office sales figures, a supplier's price file, a nightly export from another system.
A feed declares its transport (SFTP, bucket, upload or HTTP pull), its schedule, how long past it to wait before the data counts as late, the table it writes and the role told when it is. Its columns map each incoming column onto the column it writes, with an optional transform and default. The columns numbered as the delta key identify a row, so a re-run updates instead of double-counting.
Each run is a change batch: what it landed, what it refused and why. A feed past its expected arrival raises one incident and notifies its role.
| Route | Content |
|---|---|
/feeds | Every feed, its schedule and when it is next due. |
/feeds/<id> | That feed's column mapping. |
feeds.
feeds.read to see feeds; feeds.manage to author one and to run it.
Never. It is core, with its own sidebar row and permission.