JSON analyse
{
"provider_detected": true,
"receipt_visible": true,
"receipt_complete": true,
"order_visible": true,
"glovo_number": "934",
"glovo_tracking_number": "101626004040",
"glovo_number_confidence": "high",
"items_count_receipt": 2,
"subtotal": 112,
"discount": 33.6,
"total": 78.4,
"total_source": "total_line",
"main_items": [
{
"qty": 1,
"name": "Salade Généreuse",
"unit_price": null,
"total_price": null,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Un bol salade Crisp & Co visible à droite, avec emballage principal clair.",
"reason": "Article principal visible dans la photo."
}
],
"paid_internal_options": [
{
"qty": 1,
"name": "Cacahuète hachée",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Carotte râpée",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Concombre",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Croustille de riz",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Mais",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Oignons frits",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Pommes de terre",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Quinoa",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Tomates cerises",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Avocat",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Fromage râpé",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne mélangée/non vérifiable visuellement. Ne doit pas bloquer la validation."
},
{
"qty": 1,
"name": "Poulet",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Yaourt",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne listée sur le reçu.",
"reason": "Option interne non visible séparément."
}
],
"paid_extras": [
{
"qty": 1,
"name": "Ananas Twist",
"unit_price": 25,
"total_price": 25,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Dessert/extra visible dans un contenant séparé à droite, conforme à l'article sur le reçu.",
"reason": "Extra visible séparé."
}
],
"ignored_components": [],
"visual_check": {
"main_items_seem_present": true,
"paid_extras_seem_present": true,
"missing_or_unclear_items": [],
"warnings": []
},
"status": "valid",
"confidence": 0.92,
"reasons": [
"Reçu Glovo lisible avec numéro court, tracking, items, subtotal, discount et total visibles.",
"L'article principal salade est visible.",
"L'extra dessert Ananas Twist est visible dans un contenant séparé.",
"Les options internes sont présentes sur le reçu mais non vérifiables séparément, conformément aux règles."
],
"visible_evidence": {
"glovo_number": "glovo #934",
"tracking_number": "101626004040",
"items_count": "2 items",
"total": "Total MAD78.40",
"article_matching": "Salade Généreuse et Ananas Twist visibles sur la photo."
},
"agent_note": ""
}