 * Serving Flask app 'app'
 * Debug mode: on
python : WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
At line:1 char:183
+ ... \2-Vibecoding\Sales Dashboard App_VScode"; python app.py 2>&1 | Tee-O ...
+                                                ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (WARNING: This i...server instead.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 865-153-718
127.0.0.1 - - [26/Jan/2026 21:48:10] "GET /dashboard HTTP/1.1" 302 -
127.0.0.1 - - [26/Jan/2026 21:48:10] "GET /login?next=/dashboard HTTP/1.1" 302 -
127.0.0.1 - - [26/Jan/2026 21:48:20] "GET /oauth2callback?state=yJ2RX0afgZWtnBkyThduGZ70jNW9kR&code=4/0ASc3gC0pVkdQVrl2f8n3Ff46A4L7
Wi5zsqwRYD_Q-Ulp_hPmjWnywMG1YisnImthjizBPg&scope=email%20profile%20https://www.googleapis.com/auth/drive.readonly%20https://www.goo
gleapis.com/auth/spreadsheets.readonly%20https://www.googleapis.com/auth/userinfo.profile%20https://www.googleapis.com/auth/userinf
o.email%20openid&authuser=0&prompt=consent HTTP/1.1" 302 -
127.0.0.1 - - [26/Jan/2026 21:48:27] "GET /dashboard HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:28] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [26/Jan/2026 21:48:35] "GET /get-breakdowns?type=comercial&year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:38] "GET /get-summary?year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:42] "GET /get-quantities-by-codigo?year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:42] "GET /get-breakdowns?type=zona&year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:42] "GET /get-quantities-by-referencia?year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:46] "GET /get-reference-by-client?year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:48:49] "GET /get-sheets-data?year=2025 HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:13] "GET /get-breakdowns?type=comercial&year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:19] "GET /get-quantities-by-referencia?year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:21] "GET /get-summary?year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:21] "GET /get-breakdowns?type=zona&year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:23] "GET /get-sheets-data?year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:24] "GET /get-reference-by-client?year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
127.0.0.1 - - [26/Jan/2026 21:49:25] "GET /get-quantities-by-codigo?year=2025&comercial=JosÚ+Amor HTTP/1.1" 200 -
 * Detected change in 'C:\\Users\\Tiago Rebelo\\Desktop\\Globale RC\\2-Vibecoding\\Sales Dashboard App_VScode\\app.py', reloading
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
[FILTERS] Input: 84780 rows, Filters: {'cliente': None, 'zona': None, 'comercial': None, 'familia': None, 'mes': None}
[FILTERS] Output: 84780 rows
[FILTERS] After year filter: 12298 rows
[FILTERS] Output: 12298 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] After year filter: 12298 rows
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
[FILTERS] Input: 84780 rows, Filters: {'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] After comercial filter (JosÚ Amor): 84780 -> 54433 rows
[FILTERS] Output: 54433 rows
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
[FILTERS] After year filter: 12298 rows
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
DataFrame columns: ['Cliente', 'Zona', 'Comercial', 'Desconto', 'Prazo Pagamento Dias', 'C¾digo', 'Referencia', 'Familia', 'MÛs', 'Quant', 'Faturaþao']
DataFrame shape: (84780, 11)
[FILTERS] Input: 84780 rows, Filters: {'year': '2025', 'cliente': None, 'zona': None, 'comercial': 'JosÚ Amor', 'familia': None, 'mes': None}
[FILTERS] After year filter: 12298 rows
[FILTERS] After comercial filter (JosÚ Amor): 12298 -> 8901 rows
[FILTERS] Output: 8901 rows
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 865-153-718
 * Detected change in 'C:\\Users\\Tiago Rebelo\\Desktop\\Globale RC\\2-Vibecoding\\Sales Dashboard App_VScode\\app.py', reloading
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 865-153-718
