INFO: Started server process [25128] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: 127.0.0.1:57101 - "GET /api/health HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:59550 - "POST /api/demand/monthly-plan/lock?year=2026&month=6 HTTP/1.1" 409 Conflict INFO: 127.0.0.1:52850 - "DELETE /api/demand/monthly-plan/snapshots/202605 HTTP/1.1" 200 OK INFO: 127.0.0.1:49196 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:59624 - "DELETE /api/demand/monthly-plan/snapshots/202606 HTTP/1.1" 200 OK INFO: 127.0.0.1:62960 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:53626 - "POST /api/demand/monthly-plan/lock?year=2026&month=6 HTTP/1.1" 200 OK INFO: 127.0.0.1:62084 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:62930 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:62434 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:60073 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49900 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:65162 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:58452 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:55272 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:53849 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:60045 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:63327 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:55475 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:61347 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:53593 - "GET /api/auth/whoami HTTP/1.1" 404 Not Found INFO: 127.0.0.1:53597 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 401 Unauthorized INFO: 127.0.0.1:57319 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:57321 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:57323 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:57327 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:57325 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:57329 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:51766 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:55584 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:64476 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:64478 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:62035 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:62037 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:58231 - "GET /api/demand/consensus/114 HTTP/1.1" 200 OK INFO: 127.0.0.1:64666 - "DELETE /api/demand/monthly-plan/snapshots/202606 HTTP/1.1" 200 OK INFO: 127.0.0.1:53715 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:55416 - "POST /api/demand/monthly-plan/lock?year=2026&month=6 HTTP/1.1" 200 OK INFO: 127.0.0.1:55248 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:54521 - "DELETE /api/demand/monthly-plan/snapshots/202606 HTTP/1.1" 200 OK INFO: 127.0.0.1:49672 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:64464 - "POST /api/demand/monthly-plan/lock?year=2026&month=5 HTTP/1.1" 200 OK INFO: 127.0.0.1:49359 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:52468 - "POST /api/demand/monthly-plan/lock?year=2026&month=6 HTTP/1.1" 200 OK INFO: 127.0.0.1:51600 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:53963 - "DELETE /api/demand/monthly-plan/snapshots/202606 HTTP/1.1" 200 OK INFO: 127.0.0.1:60226 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\monthly_plan_service.py:103: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation. combined = pd.concat([bt, fc], ignore_index=True) INFO: 127.0.0.1:54244 - "POST /api/demand/monthly-plan/lock?year=2026&month=6 HTTP/1.1" 200 OK INFO: 127.0.0.1:57537 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:52026 - "GET /api/finance/lost-sales HTTP/1.1" 200 OK INFO: 127.0.0.1:57092 - "GET /api/finance/lost-sales HTTP/1.1" 200 OK INFO: 127.0.0.1:62185 - "GET /api/finance/locked-cash HTTP/1.1" 200 OK INFO: 127.0.0.1:49673 - "GET /api/finance/locked-cash HTTP/1.1" 200 OK INFO: 127.0.0.1:53524 - "GET /api/finance/contest-risk HTTP/1.1" 200 OK INFO: 127.0.0.1:52436 - "GET /api/finance/contest-risk HTTP/1.1" 200 OK INFO: 127.0.0.1:54975 - "GET /api/finance/slow-movers HTTP/1.1" 200 OK INFO: 127.0.0.1:64735 - "GET /api/finance/slow-movers HTTP/1.1" 200 OK INFO: 127.0.0.1:55449 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:55451 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:55453 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:55458 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:55455 - "GET /api/finance/slow-movers HTTP/1.1" 200 OK INFO: 127.0.0.1:55462 - "GET /api/finance/slow-movers HTTP/1.1" 200 OK INFO: 127.0.0.1:55539 - "GET /api/demand/forecast-accuracy/backtest HTTP/1.1" 200 OK INFO: 127.0.0.1:64110 - "GET /api/demand/forecast-accuracy/backtest HTTP/1.1" 200 OK INFO: 127.0.0.1:50514 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:50512 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:60697 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:58625 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:55628 - "GET /api/demand/consensus/114 HTTP/1.1" 200 OK INFO: 127.0.0.1:58119 - "GET /api/demand/sop-meeting HTTP/1.1" 200 OK INFO: 127.0.0.1:54657 - "GET /api/demand/sop-meeting HTTP/1.1" 200 OK INFO: 127.0.0.1:62423 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:57075 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:51027 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:59753 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:59751 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49392 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:55489 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:54558 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:54032 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:52391 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:50323 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:50325 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:59864 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:59862 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:61282 - "GET /api/demand/consensus/114 HTTP/1.1" 200 OK INFO: 127.0.0.1:60259 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:64767 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:54326 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:59000 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:60873 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:60875 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:61686 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=Jun+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:55784 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=Jun+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49240 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:50744 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:50470 - "POST /api/auth/login HTTP/1.1" 200 OK INFO: 127.0.0.1:56036 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:56038 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:56040 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:58619 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:65315 - "GET /api/demand/monthly-plan/snapshots HTTP/1.1" 200 OK INFO: 127.0.0.1:65317 - "GET /api/demand/consensus HTTP/1.1" 200 OK INFO: 127.0.0.1:54545 - "GET /api/demand/consensus/114 HTTP/1.1" 200 OK INFO: 127.0.0.1:54873 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:63431 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:61522 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:64945 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1291: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` .fillna(merged["actual_cost_receipt"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1300: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` merged["actual_unit_price"] = merged["actual_unit_price"].fillna(merged["plan_price"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1472: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_cost_ws"] = ws["actual_unit_cost_ws"].fillna(ws_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1473: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_cost_b2c"] = b2c["actual_unit_cost_b2c"].fillna(b2c_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1489: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_price_ws"] = ws["actual_unit_price_ws"].fillna(ws["plan_price_ws"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1490: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_price_b2c"] = b2c["actual_unit_price_b2c"].fillna(b2c["plan_price_b2c"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1291: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` .fillna(merged["actual_cost_receipt"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1300: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` merged["actual_unit_price"] = merged["actual_unit_price"].fillna(merged["plan_price"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1472: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_cost_ws"] = ws["actual_unit_cost_ws"].fillna(ws_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1473: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_cost_b2c"] = b2c["actual_unit_cost_b2c"].fillna(b2c_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1489: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_price_ws"] = ws["actual_unit_price_ws"].fillna(ws["plan_price_ws"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1490: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_price_b2c"] = b2c["actual_unit_price_b2c"].fillna(b2c["plan_price_b2c"]) INFO: 127.0.0.1:61174 - "GET /api/finance/bridge/monthly HTTP/1.1" 200 OK C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1291: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` .fillna(merged["actual_cost_receipt"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1300: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` merged["actual_unit_price"] = merged["actual_unit_price"].fillna(merged["plan_price"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1472: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_cost_ws"] = ws["actual_unit_cost_ws"].fillna(ws_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1473: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_cost_b2c"] = b2c["actual_unit_cost_b2c"].fillna(b2c_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1489: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_price_ws"] = ws["actual_unit_price_ws"].fillna(ws["plan_price_ws"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1490: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_price_b2c"] = b2c["actual_unit_price_b2c"].fillna(b2c["plan_price_b2c"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1291: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` .fillna(merged["actual_cost_receipt"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1300: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` merged["actual_unit_price"] = merged["actual_unit_price"].fillna(merged["plan_price"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1472: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_cost_ws"] = ws["actual_unit_cost_ws"].fillna(ws_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1473: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_cost_b2c"] = b2c["actual_unit_cost_b2c"].fillna(b2c_fallback_cost) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1489: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` ws["actual_unit_price_ws"] = ws["actual_unit_price_ws"].fillna(ws["plan_price_ws"]) C:\Users\Korisnik\Desktop\polleo-demand\backend\services\finance_service.py:1490: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` b2c["actual_unit_price_b2c"] = b2c["actual_unit_price_b2c"].fillna(b2c["plan_price_b2c"]) INFO: 127.0.0.1:50262 - "GET /api/finance/bridge/monthly HTTP/1.1" 200 OK INFO: 127.0.0.1:51525 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:56325 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:65352 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49672 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:63834 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:52917 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49672 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:52622 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:49687 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:59233 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:55813 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:65464 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:53062 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:62788 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:52894 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:63225 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:63227 - "GET /api/auth/me HTTP/1.1" 200 OK INFO: 127.0.0.1:63229 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:63233 - "GET /api/auth/me/sections HTTP/1.1" 200 OK INFO: 127.0.0.1:63231 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:63235 - "GET /api/demand/revenue-forecast?view=revenue&source=all HTTP/1.1" 200 OK INFO: 127.0.0.1:60767 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:65453 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026 HTTP/1.1" 200 OK INFO: 127.0.0.1:58463 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Apr+2026&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:55271 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=May+2026&months=Jun+2026&months=Jul+2026&months=Aug+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:58837 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Jul+2026&months=Aug+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:56335 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&months=Jul+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:50407 - "GET /api/demand/revenue-forecast?view=revenue&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK INFO: 127.0.0.1:64159 - "GET /api/demand/revenue-forecast?view=ruc&source=all&months=Jun+2026&include_nonplanned=true HTTP/1.1" 200 OK