Magento 2

Criar um memorando de crédito (cancelar) invoice no Magento 2

Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2, você deve seguir um processo semelhante ao anterior, mas garantindo que todos os itens do pedido sejam incluídos no crédito. Aqui está como você pode fazer isso:

Passo 1: Autenticação

Primeiro, obtenha o token de autenticação, conforme descrito anteriormente:

POST <magento_url>/rest/V1/integration/admin/token

Passo 2: Obtenha as Informações do Pedido

Antes de criar o crédito, você precisa das informações do pedido, incluindo os order_item_ids e as quantidades dos itens.

GET <magento_url>/rest/V1/orders/<order_id>
Authorization: Bearer your_access_token
Content-Type: application/json

{
  "entity_id": 1,
  "items": [
    {
      "item_id": 1,
      "qty_ordered": 2,
      "product_id": 123,
      ...
    },
    ...
  ],
  ...
}

Passo 3: Criar o Crédito (Credit Memo)

Com as informações do pedido em mãos, você pode criar o crédito incluindo todos os itens do pedido.

POST <magento_url>/rest/V1/creditmemo
{
  "entity": {
    "invoice_id": <invoice_id>, // O ID da fatura relacionada
    "items": [
      {
        "order_item_id": <order_item_id_1>,
        "qty": <qty_ordered_1>
      },
      {
        "order_item_id": <order_item_id_2>,
        "qty": <qty_ordered_2>
      },
      ...
    ],
    "shipping_amount": 0,
    "adjustment_positive": 0,
    "adjustment_negative": 0
  },
  "appendComment": true,
  "comment": {
    "comment": "Cancelamento total do pedido",
    "is_visible_on_front": 1
  },
  "isOffline": false,
  "notify": true
}

Considerações Importantes:

  • Todos os Itens do Pedido: Certifique-se de incluir todos os order_item_ids do pedido com a quantidade total (qty) que foi originalmente solicitada.
  • invoice_id: Deve ser o ID da fatura contra a qual o crédito será emitido. Se o pedido foi faturado, isso é necessário.
  • shipping_amount: Se você deseja reembolsar o valor do frete, coloque o valor correspondente aqui.
  • adjustment_positive/negative: Use esses campos se precisar ajustar o valor do crédito para mais ou para menos.

Passo 4: Executar a Chamada da API

Envie a requisição. Se tudo estiver configurado corretamente, o Magento retornará uma resposta com os detalhes do crédito criado, indicando que o cancelamento total do pedido foi processado com sucesso.

{
  "entity_id": 1,
  "increment_id": "100000001",
  "state": 2,
  "invoice_id": 1,
  "order_id": 1,
  "created_at": "2024-08-19 10:00:00",
  "updated_at": "2024-08-19 10:00:00",
  "grand_total": 200.00,
  ...
}

Os campos adjustment_positive e adjustment_negative na API de geração do creditmemo no Magento 2 são usados para fazer ajustes manuais no valor total do crédito a ser emitido. Eles permitem que você adicione ou subtraia valores específicos do total do crédito, além dos valores calculados automaticamente com base nos itens do pedido, impostos, e frete. Aqui está o que cada um faz:

1. adjustment_positive:

Este campo permite adicionar um valor extra ao crédito que está sendo emitido.

  • Finalidade: Usado quando você deseja aumentar o valor total do crédito para o cliente por qualquer motivo, como oferecer um reembolso adicional, uma compensação, ou um bônus.
  • Valor: Um valor numérico que será adicionado ao total do creditmemo.

Exemplo de Uso: Se você quiser adicionar R$ 10,00 ao total do crédito, você configuraria o campo assim:

“adjustment_positive”: 10.00

2. adjustment_negative:

Este campo permite subtrair um valor do crédito total que está sendo emitido.

  • Finalidade: Usado quando você precisa reduzir o valor total do crédito, talvez devido a taxas, fretes não reembolsáveis, ou outro ajuste que precisa ser deduzido do valor total a ser devolvido ao cliente.
  • Valor: Um valor numérico que será subtraído do total do creditmemo.

Exemplo de Uso: Se você precisar subtrair R$ 5,00 do total do crédito, você configuraria o campo assim:

"adjustment_negative": 5.00

Exemplo Completo de Uso:

Suponha que você queira criar um creditmemo com um ajuste positivo de R$ 15,00 e um ajuste negativo de R$ 5,00:

{

"entity": { "invoice_id": 123, "items": [ { "order_item_id": 456, "qty": 1 } ], "shipping_amount": 0, "adjustment_positive": 15.00, "adjustment_negative": 5.00 }, "appendComment": true, "comment": { "comment": "Crédito com ajuste", "is_visible_on_front": 1 }, "isOffline": false, "notify": true }

Resultado:

  • O adjustment_positive adicionará R$ 15,00 ao total do crédito.
  • O adjustment_negative subtrairá R$ 5,00 do total do crédito.
  • O valor final do creditmemo será ajustado de acordo com esses valores, além do valor dos itens, impostos, e quaisquer outros cálculos padrão do Magento.

Estes campos são úteis para cenários em que você precisa de flexibilidade adicional na emissão de créditos, permitindo ajustes específicos de acordo com a política ou situação particular de um pedido.

Post Recentes

CNPJ alfanumérico Magento 2: módulo grátis com máscara e validação

Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…

4 dias atrás

CNPJ alfanumérico no WooCommerce: plugin grátis de máscara e validação

A partir de 06/07/2026 a Receita passa a emitir CNPJ alfanumérico. Conheça o plugin grátis que aplica máscara e validação…

4 dias atrás

Como remover um modulo do Magento 2

Para remover um módulo do Magento 2, siga os passos abaixo: 1. Desabilitar o módulo Primeiro, desabilite o módulo usando…

1 ano atrás

Consultando no banco quantidade disponivel para Venda (estoque)

No Magento 2, a quantidade "reservada" na "Salable Quantity" é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A "Salable Quantity"…

2 anos atrás

Admin do Magento 2 não acessa

Como corrigir o erro ao acessar o Admin do Magento 2. Mesmo após fazer o login, permanece na tela de…

2 anos atrás

Por que devo sempre manter o Magento 2 atualizado?

Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…

2 anos atrás