Creazione della fattura non riuscita per gli articoli configurabili quando si utilizza l’API REST di Adobe Commerce
La creazione della fattura tramite l’API REST di Adobe Commerce non riesce per i prodotti configurabili, in cui l’articolo non viene visualizzato nella fattura e gli errori di convalida non si attivano. Per risolvere il problema, fare riferimento all'ID articolo del prodotto configurabile (padre) anziché al prodotto semplice (figlio) nella richiesta di fattura.
Descrizione description
Ambiente
Adobe Commerce
Problema/Sintomi
- Le fatture create tramite l’API non includono prodotti configurabili.
- Non viene visualizzato alcun messaggio di errore quando si utilizzano solo ID elemento figlio (semplice).
- Inclusione di ID articolo padre e figlio con quantità pari a zero per le restituzioni padre Impossibile creare la fattura senza prodotti.
- Fatturazione prodotti semplici completata.
Risoluzione resolution
Per risolvere il problema, effettua le seguenti operazioni:
-
Identificare l'ID dell'articolo del prodotto configurabile (padre) dall'ordine eseguendo una query sulla tabella
sales_order_item.code language-none select item_id, sku, product_type from sales_order_item; 208 simple_skuA configurable 211 simple_skuA simple 214 simple_skuB configurable 217 simple_skuB simple 220 simple_skuC simple 223 simple_skuD simple -
Crea la fattura tramite l’API REST includendo nel payload della richiesta solo l’ID articolo del prodotto principale configurabile.
Nota: non includere gli ID articolo prodotto figlio (semplice) e non impostare la quantità su zero per nessun articolo.
-
Sottomettere la richiesta di creazione della fattura utilizzando la seguente struttura di payload:
code language-none curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ https://<store_url>/rest/V1/order/<order_id>/invoice { "items": [ { "order_item_id": 208, "qty": 1 }, { "order_item_id": 220, "qty": 1 }, { "order_item_id": 223, "qty": 1 } ] } -
Verificare che la fattura creata includa voci per tutti i prodotti configurabili previsti.
Nota
Se in un ordine sono presenti più varianti di un prodotto configurabile, utilizzare ogni ID articolo padre corrispondente a tali varianti durante la creazione delle fatture.
select item_id, sku, product_type from sales_order_item;
226 simple_skuA configurable
229 simple_skuA simple
232 simple_skuB configurable
235 simple_skuB simple
In questo esempio, il payload per la variante di fattura B dello SKU simple_skuB utilizza l'ID articolo padre 232.