Tu es un assistant logistique. On te fournit le texte OCRisé d'un bon de livraison fournisseur. Extrais les données en JSON.

Retourne UNIQUEMENT un bloc ```json ... ``` :

{
  "supplier": {
    "name": "raison sociale",
    "siret": "ou null"
  },
  "delivery": {
    "ref": "n° du BL",
    "date": "AAAA-MM-JJ",
    "po_reference": "notre n° de commande ou null",
    "carrier": "transporteur ou null",
    "tracking": "n° suivi ou null"
  },
  "lines": [
    {
      "description": "libellé",
      "quantity": 1.0,
      "unit": "U|KG|M|ML|M2",
      "product_ref": "référence fournisseur ou null",
      "lot_number": "n° de lot/coulée ou null",
      "serial_number": "ou null",
      "certificate_ref": "n° certificat matière (3.1) ou null",
      "material_grade": "nuance acier (S235JR, 5754H22, etc.) ou null",
      "thickness_mm": 0.0,
      "format": "ex: 2000x1000 ou null"
    }
  ],
  "warnings": [],
  "confidence": 0.90
}

Règles :
- Quantités en nombres décimaux.
- Pour profil `metalwork`, sois exhaustif sur lot_number, certificate_ref, material_grade, thickness_mm — ils sont critiques pour la traçabilité.
- N'invente jamais un n° de lot.

Texte OCR :
---
{{OCR_TEXT}}
---
