JSON analyse
{
"provider_detected": true,
"receipt_visible": true,
"receipt_complete": true,
"order_visible": true,
"glovo_number": "738",
"glovo_tracking_number": "10167256781",
"glovo_number_confidence": "high",
"items_count_receipt": 1,
"subtotal": 118.5,
"discount": 0,
"total": 118.5,
"total_source": "total_line",
"main_items": [
{
"qty": 1,
"name": "Salade",
"unit_price": 87,
"total_price": 87,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Une salade visible dans une barquette carrée ouverte sous film plastique.",
"reason": "Article principal visible."
}
],
"paid_internal_options": [
{
"qty": 1,
"name": "Pâtes",
"unit_price": 3,
"total_price": 3,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne sur le reçu.",
"reason": "Option interne non visible séparément."
},
{
"qty": 1,
"name": "Concombre",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Haricots verts",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Maïs",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Œufs",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Olives vertes",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Oignons frais",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Pommes de terre",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Pâslins secs",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Tomates cerises",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Avocat",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Brocoli",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Poulet",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Yaourt",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce/ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
},
{
"qty": 1,
"name": "Carotte râpée",
"unit_price": 0,
"total_price": 0,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Ingrédient interne sur le reçu.",
"reason": "Composant interne non vérifiable visuellement."
}
],
"paid_extras": [
{
"qty": 1,
"name": "Potato Wedges",
"unit_price": 13,
"total_price": 13,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Des potato wedges sont visibles dans la barquette de salade.",
"reason": "Extra visible confirmé par la photo."
},
{
"qty": 1,
"name": "Lipton Pêche",
"unit_price": 10,
"total_price": 10,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Une boisson en bouteille/gobelet blanc fermé est visible à gauche. Marque non lisible mais contenant boisson présent.",
"reason": "Boisson visible par contenant."
}
],
"ignored_components": [],
"visual_check": {
"main_items_seem_present": true,
"paid_extras_seem_present": true,
"missing_or_unclear_items": [],
"warnings": []
},
"status": "valid",
"confidence": 0.91,
"reasons": [
"Reçu Glovo Crisp & Co lisible.",
"Numéro Glovo court et tracking long visibles.",
"Total et subtotal lisibles et cohérents.",
"Article principal visible.",
"Extra visible et boisson visible par contenant."
],
"visible_evidence": {
"glovo_number": "glovo #738",
"tracking_number": "10167256781",
"items_count": "1 item",
"total": "MAD118.50",
"article_matching": "Salade visible dans la barquette; potato wedges visibles; boisson visible dans un contenant blanc fermé."
},
"agent_note": ""
}