Skip to content

1.2.0

🚀 New Features

  • Plenty Orders Integration (service_omni): New endpoint POST /plenty/orders fetches and stores all Plenty orders for a given day (paginated, statusId=7); POST /plenty/orders/range backfills a full date range
  • Profit Tab (Statistics): New "Profits" tab in the Statistics page with a cron scheduler (daily auto-fetch of yesterday's Plenty orders) and a manual date range import panel
  • Profit Cron Job: New cron endpoints POST /statistics/profit/cron/start|stop and GET /statistics/profit/cron/status — runs daily at 06:00 to fetch yesterday's orders from Plenty

🔧 Improvements

  • Plenty orders are parsed into a flat denormalized model (PlentyOrderLine) for direct Metabase consumption — one row per article line with all order-level fields included
  • Plenty_Manager.search_orders() now handles full pagination and returns typed List[PlentyOrderLine] directly
  • Plenty unpaid orders are now detected during parsing (properties typeId=4). Orders not fullyPaid are queued in a new plenty_pending_orders table and re-checked automatically for up to 7 days; a retry runner re-fetches orders by orderIds and moves newly-paid orders into the main plenty_orders table.

🐛 Bug Fixes

  • Fixed a bug in rituals monitor (service_omni) where discord webhooks were sent twice per item
  • Fixed cron registration/restore issue in Sellerlogic: task registration keys now match DB job names so scheduled jobs (e.g. the reprice job) are correctly restored on startup instead of being skipped.
  • Fixed serialization in Sellerlogic get_credentials: credential id values are now converted to strings before returning, avoiding Pydantic UUID serialization warnings in logs.

SQL

  • Added new Column active_omni to plenty_credentials
  • Added new table plenty_orders — flat order line records from Plenty (order id, item, quantities, totals, origin, shipping destination, ASIN/SKU)
  • Added new table plenty_pending_orders — stores unpaid order IDs and timestamps so they can be retried until payment completes (up to 7 days)