liber. Manuais

Amazon Vendor Central

A Amazon manda o pedido; o Odoo o recebe, confere título por título contra o seu cadastro e o transforma em cotação quando alguém manda. O que ele não faz — de propósito — é responder à Amazon.

Visão geral

No Vendor Central a Amazon compra. Ela não é marketplace aqui: ela é atacadista, emite um pedido de compra e depois revende por conta própria. Isso inverte o vocabulário e é a primeira coisa a entender:

O que a Amazon chamaO que é do nosso lado
purchase order (pedido de compra)Uma venda. Vira cotação e, depois, pedido de venda — nunca um pedido de compra do Odoo.
vendorNós. A editora que fornece.
buying partyO centro de distribuição da Amazon que está comprando — cada um com CNPJ próprio.
net costO que a Amazon paga por exemplar. É este o preço da linha.
list priceO preço de capa com que ela revende. Não entra na cotação.
Atenção

Registrar o pedido da Amazon como pedido de compra inverteria estoque e faturamento: o sistema passaria a achar que estamos comprando livros da Amazon. O erro não aparece na tela — aparece no fechamento do mês, com estoque negativo e receita faltando.

O caminho tem três paradas, e a do meio é o ponto do módulo:

  1. Importar — o módulo lê os pedidos da Amazon e guarda uma cópia fiel de cada um.
  2. Conferir — cada ISBN é casado com o código de barras do produto. O que não casa fica visível antes de virar documento.
  3. Gerar a cotação — um ato de alguém, nunca automático. A cotação nasce em rascunho e fica lá.

O que este módulo não faz

Ele só lê da Amazon. Não confirma pedido (acknowledgement), não manda aviso de embarque (ASN), não imprime etiqueta de caixa e não emite invoice por EDI.

Não é uma etapa que ficou para depois: é o desenho. Essas operações disparam relógio de SLA na Amazon e assumem compromisso de entrega — decisão de uma pessoa olhando, não de uma rotina às quatro da manhã. A limitação está no código, não num acordo: a camada que fala com a Amazon tem um único caminho de saída, e ele só sabe ler.

Nota

Enquanto a confirmação não estiver no sistema, ela continua sendo feita à mão no portal do Vendor Central — e o portal segue sendo o dono do estado do pedido. É por isso que a importação relê pedidos antigos em vez de só buscar os novos.

Configuração

Grupos de acesso: Amazon Vendor / Operador importa, corrige o casamento de produto e gera cotação; Amazon Vendor / Gerente também configura a conta. As credenciais em si são de administrador do sistema — quem opera nunca as vê. O grupo de operador já implica Vendedor, porque a cotação é documento de vendas.

Multiempresa por construção: a conta é um registro por empresa, não uma configuração global. Cada vendor tem o seu próprio aplicativo e o seu próprio token na Amazon — não existe credencial que sirva a duas editoras.

A conta (uma vez por empresa, em DefiniçõesAmazon Vendor ou Amazon VendorConfiguraçãoDefinições):

  1. Dê um Nome da conta e escolha a Região. Para o Brasil, BR — que fala com o endpoint da América do Norte. Não existe host brasileiro; procurar por um é perder a tarde.
  2. Preencha Amazon como cliente: o parceiro em nome de quem as cotações saem.
  3. Cole as três credenciais do aplicativo criado no Amazon Developer Central: Client ID do LWA, Client Secret do LWA e o Refresh token da autorização. O refresh token começa com Atzr| e aparece uma única vez, na tela de autorização.
  4. Salve e clique em Testar conexão na ficha da conta. Ele fala com a Amazon e não importa nada.
Nota

Os campos de segredo chegam sempre em branco, mesmo depois de configurados: o valor guardado não volta para o navegador. Deixar em branco mantém o que já está lá — preencha só para trocar. O indicador Credenciais configuradas diz se há um token gravado, sem revelá-lo.

Atenção

Se o teste falhar com HTTP 403 depois de o login ter funcionado, não é senha errada. É o aplicativo sem o papel Vendor Orders no Developer Central, ou uma autorização dada para o Seller Central em vez do Vendor. O conserto é no painel da Amazon.

As unidades da Amazon

A Amazon não compra como uma pessoa só. Cada centro de distribuição é um estabelecimento fiscal próprio — no Brasil, mesma raiz de CNPJ e filial diferente — e o pedido diz qual deles está comprando.

O que ela não manda é quem é esse estabelecimento. O pedido traz apenas a sigla:

buyingParty  = {"partyId": "GRU8"}
shipToParty  = {"partyId": "GRU8"}

Sem CNPJ, sem endereço, sem razão social. Daí o mapa em Amazon VendorConfiguraçãoUnidades da Amazon: uma linha por sigla, dizendo quem ela é no seu cadastro — e, se a entrega for em outro endereço, qual é.

Atenção

Unidade não mapeada não vira cotação. O pedido é importado e fica marcado, mas a cotação é recusada com o nome da sigla. Cair num cliente padrão seria pior: a nota sairia contra o CNPJ de outra filial, em silêncio e com número plausível.

Para começar, o botão Mapear unidades pelos pedidos, na ficha da conta, cria uma linha para cada sigla já vista e sugere um cliente quando um contato casa sem ambiguidade. A sugestão é isso mesmo — sugestão, para você conferir. Casar pelo nome funcionaria numa casa que batize os contatos de "Amazon GRU8" e em nenhuma outra, e convenção de cadastro de uma editora não pode virar regra de um módulo.

Importar os pedidos

Há dois caminhos, e eles fazem a mesma coisa:

  • À mão, em pelo botão Importar da Amazon no alto da lista em Amazon VendorPedidos: escolha o intervalo e clique em Ler da Amazon.
  • Sozinho, pela rotina diária das 07:00 UTC — quatro da manhã em Brasília, quando a Amazon já fechou o dia e ninguém está usando o sistema. Liga e desliga em Definições.

A leitura à mão mostra a conta antes de gravar: quantos pedidos, quantos exemplares, quanto em net cost, quantos ISBNs distintos e — o que mais importa — a lista exata dos que não têm produto no cadastro. Só então Importar.

Nota

Reimportar o mesmo intervalo não duplica nada: a chave é o número do pedido. E a janela recua alguns dias de propósito (o campo Janela de releitura, 7 dias por padrão), porque a Amazon muda o estado de um pedido depois de criá-lo. Uma marca d'água que só andasse para frente congelaria o estado no instante da primeira leitura.

O casamento com o cadastro

Cada linha traz o ISBN-13 do título, que o módulo procura no Código de barras do produto. A comparação ignora hífen e espaço dos dois lados — parte do catálogo está gravada com hífen, e a comparação crua daria por ausente um título que existe.

Atenção

O outro identificador do pedido, o ASIN, é o código interno da Amazon. Ele é guardado para conferência, mas não serve para casar com o nosso cadastro — não existe lá.

Linha cujo ISBN não casa não impede nada: ela entra sem produto, é contada, e simplesmente fica de fora da cotação. Travar o pedido inteiro por causa de um título que talvez nem seja nosso seria pior — e a Amazon não espera.

Atenção

Ignorar é a decisão certa; ignorar em silêncio não é. Toda vez que uma linha fica de fora, o histórico do pedido registra quais ISBNs foram deixados — porque a cotação passa a prometer menos exemplares do que a Amazon pediu, e essa diferença apareceria só na entrega.

Para trazer o título de volta, há duas saídas:

  • Cadastrar o título com o ISBN no código de barras, e reimportar.
  • Escolher o produto à mão na linha do pedido. Essa escolha fica travada e sobrevive às próximas leituras — corrigir uma vez é corrigir para sempre.

O filtro Com títulos sem produto, na lista de pedidos, junta tudo o que está saindo incompleto — é a fila de trabalho de quem cuida do cadastro.

Gerar a cotação

No pedido, o botão Gerar cotação cria o pedido de venda em rascunho, com as linhas casadas, as quantidades pedidas e o net cost como preço. O prazo final da janela de entrega da Amazon vira a Data de entrega.

As linhas sem produto no cadastro ficam de fora, e o histórico do pedido diz quais foram.

Para trabalhar em lote: selecione os pedidos na lista, abra o menu de engrenagem e escolha Gerar cotações. Aqui a regra é o contrário da do botão individual — o que não pode ser gerado é pulado, não interrompe os outros, e no fim aparece um relatório do que ficou de fora e por quê. Numa seleção de cinquenta, parar no terceiro jogaria fora o trabalho dos outros quarenta e sete. Pula-se pouca coisa: pedido que já tem cotação, e pedido em que nenhuma linha casou — esse não tem o que cotar.

Atenção

A cotação nunca é confirmada pelo módulo. Confirmar assume compromisso de entrega e move estoque — quem faz isso é uma pessoa, depois de olhar. E nada é enviado à Amazon nesse momento: o que acontece aqui não chega ao Vendor Central.

Duas recusas que preferem falhar a acertar por acaso:

  • Moeda diferente da empresa — a cotação é recusada em vez de convertida. Converter caladamente poria um número plausível e errado num documento que ninguém reconfere.
  • Pedido que já tem cotação — não se gera a segunda. Se a primeira estiver errada, ela é que deve ser corrigida ou cancelada.
  • Pedido sem nenhuma linha casada — não há o que cotar, e uma cotação vazia registraria uma venda de nada.

Quando a Amazon muda o pedido

Ela muda. O estado anda de New para Acknowledged e depois Closed, e a quantidade aceita frequentemente é menor que a pedida.

Enquanto não existe cotação, mudança é só notícia: a cópia se atualiza e pronto. Depois que a cotação existe, o módulo avisa e não reescreve — o pedido ganha uma tarja vermelha dizendo exatamente o que mudou (estado, quantidade, em que linha), e o documento comercial fica intacto.

É deliberado: a cotação pertence a quem a fez. Reescrevê-la por baixo trocaria um problema visível por um invisível. Depois de resolver, o botão Dar por lida a mudança tira o aviso e guarda o texto no histórico.

Nota

Se a Amazon inventar um estado que o módulo ainda não conhece, o pedido é importado assim mesmo e fica marcado. O filtro Estado desconhecido na Amazon lista esses casos. Recusar a gravação por causa de um nome novo perderia a venda para preservar a lista.

O relatório por título

A agenda responde por pedido; esta tela responde por livro. Em Amazon VendorRelatório, uma linha por título por pedido, em pivô.

A tela abre pela pergunta que se faz primeiro — ainda dá para atender? — na coluna Situação no Odoo:

Situação no OdooO que significa
Cotado aquiO título virou linha de uma cotação por este módulo.
Ainda dáNão foi atendido, mas o pedido continua aberto na Amazon: cadastrar o título ou gerar a cotação ainda resolve.
Janela fechadaNão foi atendido e a Amazon já fechou o pedido. Daqui não sai mais nada.
Atenção

O nome da coluna é literal: situação no Odoo, não no mundo. "Cotado aqui" conta só o que passou por este módulo. Como um ano de histórico foi importado depois do fato, quase nada antigo aparece cotado — aqueles livros saíram pelo portal, antes deste módulo existir. Para esse período, "janela fechada" é o normal, não perda; use o filtro de data para olhar só o que chegou desde que o módulo entrou em operação.

"Janela fechada" não quer dizer que o livro nunca foi entregue. Um pedido atendido por fora — pelo portal, por planilha, do jeito que a casa fazia antes deste módulo — também chega aqui fechado, e a Vendor Orders API não distingue um caso do outro. O que a coluna afirma é apenas isto: por dentro do Odoo, aquele título naquele pedido não vai mais a lugar nenhum. Para o histórico importado, espere números altos aqui — é passado, não perda.

Expandindo por Atendimento, aparece onde parou — e essa é a segunda pergunta, a da causa. Três paradas, e só a última é sucesso:

SituaçãoO que significaDe quem é o problema
Sem produto no cadastroO ISBN não existe em nenhum produto; a linha ficou de fora da cotação.De quem cuida do cadastro.
Ainda sem cotaçãoO título casou, mas ninguém transformou o pedido em cotação.De quem opera.
Em cotaçãoVirou linha de um pedido de venda.

Agrupe por Título nas linhas e leia as colunas, com exemplares e valor ao lado. Três filtros prontos: Janela fechada (o que não foi e não será mais), Ainda dá para atender (a fila de trabalho de hoje) e Não atendidos, que junta os dois.

Quanto tempo leva

A medida Dias até fechar conta do pedido até a Amazon encerrar o documento. É o mais perto de um tempo de entrega que a Vendor Orders API oferece — ela não nos diz quando recebeu, diz quando fechou.

Atenção

Ligue o filtro Ciclo concluído antes de ler essa média. Pedido ainda aberto vale zero e só puxaria o número para baixo. E lembre que a Amazon também fecha o pedido que cancelou: um ciclo de poucas horas é quase certamente cancelamento, não velocidade.

Ao lado dela, Dias concedidos mostra o prazo que a Amazon deu — comparar os dois é comparar o combinado com o acontecido.

Limites conhecidos

  • Um cliente por conta — a cotação sai sempre para o mesmo parceiro. Como cada centro de distribuição da Amazon tem CNPJ próprio, o correto é resolver o cliente por pedido, a partir do buying party. Está mapeado, ainda não implementado.
  • Impostos — a linha nasce com o net cost e o Odoo aplica a posição fiscal do parceiro. Vale conferir com um pedido real antes de confiar no total.
  • Endereço de entrega — o pedido traz o centro de distribuição de destino, mas ele ainda não vai para o endereço de entrega da cotação.
  • Devoluções e chargebacks — fora do escopo. A Amazon os informa por outras APIs.

Perguntas frequentes

Importar avisa a Amazon de alguma coisa?
Não. Nenhuma operação do módulo escreve na Amazon — nem importar, nem gerar cotação, nem confirmar o pedido de venda depois.

A tela de configuração está vazia e eu já configurei a conta.
Você está em outra empresa. A conta pertence a uma empresa e a regra multiempresa a esconde das demais — troque no seletor do canto superior direito. A própria tela avisa quando é esse o caso.

Por que o preço da linha não é o preço de capa?
Porque a Amazon não paga o preço de capa: ela paga o net cost, que é o que a cotação registra. O preço de capa fica guardado na linha, para conferência.

Reimportei e o produto que eu tinha corrigido à mão voltou ao que era?
Não deveria — escolha humana fica travada. Se voltou, o produto foi trocado por outra importação com o campo destravado; reabra a linha e escolha de novo.

A cotação saiu com menos linhas que o pedido da Amazon.
Os títulos sem produto no cadastro ficam de fora. O histórico do pedido lista os ISBNs deixados; cadastre-os (ou escolha o produto à mão na linha) e a próxima cotação sai completa. A cotação já criada não se completa sozinha — corrija-a ou cancele e gere de novo.

O pedido sumiu da lista.
Provavelmente foi fechado pela Amazon e você está com o filtro Ainda aberto ligado. Pedido fechado continua no sistema, apenas em cinza.

Preciso instalar alguma biblioteca Python?
Não. A API da Amazon não exige mais assinatura AWS, e o módulo usa só o que o Odoo já tem.

Ver também