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:

  1. 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
    
  2. 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.

  3. 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
        }
      ]
    }
    
  4. 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.

Lettura correlata

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f