JSON analyse
{
"provider_detected": true,
"receipt_visible": true,
"receipt_complete": true,
"order_visible": true,
"glovo_number": "541",
"glovo_tracking_number": "10174808608",
"glovo_number_confidence": "high",
"items_count_receipt": 2,
"subtotal": 155,
"discount": 46.5,
"total": 108.5,
"total_source": "total_line",
"main_items": [
{
"qty": 1,
"name": "CRISP BOWL - 2 Viandes",
"unit_price": 58,
"total_price": 58,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Deux bols Crisp & Co visibles sur la photo, avec étiquettes Glovo attachées.",
"reason": "Article principal sous forme de bowl visible physiquement."
},
{
"qty": 1,
"name": "CRISP BOWL - 2 Viandes",
"unit_price": 50,
"total_price": 50,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Deux bols Crisp & Co visibles sur la photo, avec étiquettes Glovo attachées.",
"reason": "Article principal sous forme de bowl visible physiquement."
}
],
"paid_internal_options": [
{
"qty": 1,
"name": "Cordon Bleu",
"unit_price": 4,
"total_price": 4,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne sur le reçu.",
"reason": "Option interne dans un bowl, non vérifiable séparément."
},
{
"qty": 1,
"name": "Poisson",
"unit_price": 5,
"total_price": 5,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne sur le reçu.",
"reason": "Option interne dans un bowl, non vérifiable séparément."
},
{
"qty": 1,
"name": "Viande Hachée",
"unit_price": 6,
"total_price": 6,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne sur le reçu.",
"reason": "Option interne dans un bowl, non vérifiable séparément."
},
{
"qty": 1,
"name": "Merguez",
"unit_price": 6,
"total_price": 6,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne sur le reçu.",
"reason": "Option interne dans un bowl, non vérifiable séparément."
},
{
"qty": 1,
"name": "Sauce Algérienne",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce interne listée sous les bowls.",
"reason": "Option interne mélangée/non vérifiable visuellement. Ne doit pas bloquer la validation."
},
{
"qty": 1,
"name": "Mayonnaise",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce interne listée sous les bowls.",
"reason": "Sauce interne non vérifiable séparément."
},
{
"qty": 1,
"name": "Sauce Algérienne",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce interne listée sous les bowls.",
"reason": "Option interne mélangée/non vérifiable visuellement. Ne doit pas bloquer la validation."
},
{
"qty": 1,
"name": "Sauce Andalouse",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce interne listée sous les bowls.",
"reason": "Option interne mélangée/non vérifiable visuellement. Ne doit pas bloquer la validation."
}
],
"paid_extras": [
{
"qty": 1,
"name": "Onion Rings (6pcs)",
"unit_price": 18,
"total_price": 18,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Un contenant d'onion rings est visible avec les bowls.",
"reason": "Extra visible séparément."
}
],
"ignored_components": [],
"visual_check": {
"main_items_seem_present": true,
"paid_extras_seem_present": true,
"missing_or_unclear_items": [],
"warnings": [
"Le reçu affiche 2 items et deux bowls sont visibles.",
"Le total imprimé semble être MAD108.50."
]
},
"status": "valid",
"confidence": 0.91,
"reasons": [
"Reçu Glovo Crisp & Co lisible.",
"Numéro court et tracking long visibles.",
"Deux items indiqués et deux bols visibles.",
"Total lisible.",
"Extra visible identifié sur la photo."
],
"visible_evidence": {
"glovo_number": "glovo #541",
"tracking_number": "10174808608",
"items_count": "2 items",
"total": "MAD108.50",
"article_matching": "Deux bowls Crisp & Co visibles; extra onion rings visible."
},
"agent_note": ""
}