Принять поставку и связать номера базы со строками входного JSON

Результат настоящих запросов через PDO_SQLSRV. Собственные учебные объекты после наблюдений удалены.

Результат выполнения
НаблюдениеРезультат
Принято строк3
Связь поставщика и базыS-31 → 1; S-32 → 2; S-33 → 3
Название второй позицииШланг O'Reilly
Примечанияnull; пустая строка; Склад Б
Повторное чтениесовпадает с OUTPUT
Файлreceipt.json
Полученные строки и наблюдения
{
    "input": [
        {
            "supplier_ref": "S-31",
            "title": "Насос Мини",
            "qty": 2,
            "note": null
        },
        {
            "supplier_ref": "S-32",
            "title": "Шланг O'Reilly",
            "qty": 0,
            "note": ""
        },
        {
            "supplier_ref": "S-33",
            "title": "Клапан",
            "qty": 5,
            "note": "Склад Б"
        }
    ],
    "raw_output": [
        {
            "id": "1",
            "supplier_ref": "S-31",
            "title": "Насос Мини",
            "qty": "2",
            "note": null
        },
        {
            "id": "2",
            "supplier_ref": "S-32",
            "title": "Шланг O'Reilly",
            "qty": "0",
            "note": ""
        },
        {
            "id": "3",
            "supplier_ref": "S-33",
            "title": "Клапан",
            "qty": "5",
            "note": "Склад Б"
        }
    ],
    "receipt": {
        "accepted": 3,
        "items": [
            {
                "id": 1,
                "supplier_ref": "S-31",
                "title": "Насос Мини",
                "qty": 2,
                "note": null
            },
            {
                "id": 2,
                "supplier_ref": "S-32",
                "title": "Шланг O'Reilly",
                "qty": 0,
                "note": ""
            },
            {
                "id": 3,
                "supplier_ref": "S-33",
                "title": "Клапан",
                "qty": 5,
                "note": "Склад Б"
            }
        ]
    },
    "confirmation": "OUTPUT consumed, transaction committed, stored rows read again"
}

result.json содержит те же данные. Реквизиты входа сюда не записываются.