Como enviar a nota fiscal de venda

Para aperfeiçoar a experiência de compra dentro da plataforma, os vendedores poderão enviar as notas fiscais de venda através de nossa API de forma automática. Veja como funciona a parte fiscal em Mercado Envios Full.

Conteúdos

→Assinatura de notificações

→Consultar status do envio

→Billing Info

→Enviar nota fiscal eletrônica

→Consultar a Nota Fiscal enviada

→Atualizar nota fiscal eletrônica

→Referências de código de erro


Assinatura de notificações

Lembre-se que o desenvolvimento deve estar assinado às notificações de “shipments”; deverá fazê-lo desde MyApps. Revise nossa documentação para conhecer como trabalhar com notificações. Começará a receber notificações depois de gerada uma venda na plataforma e confirmado o pagamento. Exemplo de notificação

{
    "resource": "/shipments/139876",
    "user_id": 1234,
    "topic": "shipments",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}


Consultar status do envio

Conhecendo o ID do envio, poderá realizar o GET para o recurso de shipments para obter toda a informação dele:

curl -H "x-format-new:true" https://api.mercadolibre.com/shipments/$SHIPMENT_ID?access_token=$ACCESS_TOKEN

Confirmando que o envio tenha status "ready_to_ship" e substatus "invoice_pending", você deverá enviar o XML da nota.


Billing Info

No recurso/shipments são derivados diferentes recursos que oferecem a informação necessária para que o vendedor determine a logística. O recurso billing_info permite obter a informação fiscal dos diferentes atores que operam no envio do produto.

curl -X GET https://api.mercadolibre.com/shipments/$SHIPMENT_ID/billing_info?access_token=$ACCESS_TOKEN

Exemplo:

curl -X GET https://api.mercadolibre.com/shipments/26474580996/billing_info?access_token=$ACCESS_TOKEN
{
	"receiver": {
		"id": 154808171,
		"document": {
			"id": "CPF",
			"value": "02972404475"
		},
		"additional_documents": []
	},
	"senders": [{
		"id": 168777350,
		"document": {
			"id": "CNPJ",
			"value": "21611372000396"
		},
		"additional_documents": [{
			"id": "IE",
			"value": "421038162111"
		}]
	}],
	"carrier": {
		"document": {
			"id": "CNPJ",
			"value": "20121850000317" 
		},
		"additional_documents": []
	}
}

Considerações:

  • Dentro de cada “additional_documents” pode vir uma lista de outros documentos que podem ser requeridos.
  • Caso seja necessário obter a informação dos produtos que são enviados, se utilizarão os recursos shipments/{id}/items e /items/{id}.


Enviar nota fiscal eletrônica

Importante:
A partir de 1 de setembro, somente é possível fazer o envio de NFe com modelo 55. Ou seja, no momento do upload do arquivo, será analisado o modelo e não poderá ser feito o envio de uma NFC-e, por exemplo.

Com todas informações disponíveis, assim que o status e substatus estiverem confirmados, você deverá enviar o XML da nota assim:

curl -s -X POST -H 'Content-Type: application/xml' -d '<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
...
</nfeProc>' "https://api.mercadolibre.com/shipments/{id}/invoice_data/?access_token=$ACCESS_TOKEN&siteId=$SITE_ID"


Consultar a nota fiscal enviada

Você pode consultar o XML enviado:

curl -H GET https://api.mercadolibre.com/shipments/$SHIPMENT_ID/invoice_data?access_token=$ACCESS_TOKEN&siteId=MLB


Atualizar nota fiscal eletrônica

Agora, se quiser alterar alguma informação dos dados fiscais já enviados, um PUT deve ser enviado assim:

curl -s -X PUT -H 'Content-Type: application/xml' -d '<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
...
</nfeProc>' "https://api.mercadolibre.com/shipment_invoice/{invoice_id}?access_token=$ACCESS_TOKEN&siteId=$SITE_ID"


Notas:
Estamos realizando a validação dos XMLs enviados, sendo assim não serão aceitas Notas Fiscais geradas pelo ambiente de homologação da SEFAZ, somente Notas Fiscais válidas. Outra observação é que, uma vez impressa a etiqueta, não será possível alterar a nota.


Referências de código de erro

Error_code Mensagem de erro Descrição Possível solução
shipment_invoice_already_saved shipment invoice already saved Já existe uma nota fiscal salva para o envio informado. Para que a nota fiscal possa ser salva, o envio necessita estar no substatus de invoice_pending, para verificar se o envio se encontra nesse substatus, consulte /shipments/{shipment_id}, ou consulte se já não foi salva a nota fiscal para o envio informado através do endpoint /shipments/{id}/invoice_data.
duplicated_fiscal_key fiscal key has already been used Já existe uma nota fiscal salva com a chave fiscal informada. O número de chave fiscal da nota precisa ser único.
wrong_invoice_date NFe date must be greater than the sale date. A data informada na nota fiscal é inválida. Verifique a data informada.
wrong_sender_zipcode NFe sender zipcode must be the same as the sale zipcode. O CEP do vendedor informado na nota fiscal é inválido ou nulo. Verifique o CEP do vendedor informado.
wrong_receiver_zipcode NFe receiver zipcode must be the same as the sale zipcode. O CEP do comprador informado na nota fiscal é inválido ou nulo. Verifique o CEP do comprador informado.
wrong_receiver_cnpj NFe receiver CNPJ must be the same as the sale CNPJ. O CNPJ do comprador informado na nota fiscal é inválido ou nulo. Verifique o CNPJ do comprador informado.
wrong_receiver_cpf NFe receiver CPF must be the same as the sale CPF. O CPF do comprador informado na nota fiscal é inválido ou nulo. Verifique o CPF do comprador informado.
wrong_receiver_state_tax NFe receiver state tax must be the same as the sale state tax. A Inscrição Estadual do comprador informada na nota fiscal é inválida ou nula. Verifique a Inscrição Estadual do comprador informada.
invalid_user You are not allowed to perform this operation on the resource Shipment $shipmentId Você não tem permissão para realizar operações no envio informado. Verifique o número de envio informado e se você tem permissões sobre ele.
seller_not_allowed_to_import_nfe Seller not allowed to import nfe $callerId Você não tem permissão para realizar a importação de NF-e Verifique se você tem permissão para importar notas fiscais ou use nosso emissor de notas fiscais.
shipment_invoice_should_contain_company_state_tax_id shipment invoice should contain company_state_tax_id A Inscrição Estadual do comprador não foi informada na nota fiscal. Verifique a Inscrição Estadual do comprador informada.
invalid_state_tax_id Invalid state tax id A Inscrição Estadual do comprador informada na nota fiscal é inválida ou nula. Verifique a Inscrição Estadual do comprador informada.
invalid_operation_for_site_id Invalid operation for site id: $siteId Operação inválida para a região informada. Só é permitida a execução de operações para o site MLB.
error_parse_invoice_data $json Erro ao converter dados da nota fiscal para json. Verifique se a nota fiscal foi informada de forma correta.
invalid_parameter Body cannot contain id A nota fiscal informada não contém o número de identificação. Verifique o número de identificação na nota fiscal informada.
invalid_caller_id Invalid caller id Caller Id informado é inválido ou não foi informado. Verifique se o Caller Id esta sendo informado ao realizar o request.
sender_ie_not_found Seller CNPJ not registered on SEFAZ as tax payer O cnpj do vendedor não está cadastrado na Sefaz como contribuinte ou está bloqueado. Não é possível informar a NF-e porque seus dados cadastrados no Mercado Livre são diferentes dos que você tem cadastrados na SEFAZ. Revise o CNPJ, a Inscrição Estadual (IE) e o estado (UF). Corrija as informações do seu cadastro no Mercado Livre e tente novamente.
invalid_sender_ie_for_state Invalid seller state registry for registered state A inscrição estadual do vendedor é inválida para o estado cadastrado. Não é possível informar a NF-e porque seu dado de IE cadastrado no Mercado Livre está incorreto para o estado cadastrado no endereço. Revise o CNPJ, a Inscrição Estadual (IE) e o estado (UF). Corrija as informações do seu cadastro no Mercado Livre e tente novamente.
invalid_sender_ie Seller's state registry differs from that registered on SEFAZ A inscrição estadual do vendedor é diferente da cadastrada junto à Sefaz. Não é possível informar a NF-e porque seus dados cadastrados no Mercado Livre são diferentes dos que você tem cadastrados na SEFAZ. Revise o CNPJ, a Inscrição Estadual (IE) e o estado (UF). Corrija as informações do seu cadastro no Mercado Livre e tente novamente.



Notas:
Para imprimir a etiqueta, acesse esta documentação. Tenha em conta que uma vez impressa a etiqueta, não será possível alterar a nota.
ou registre-se para receber as últimas notícias sobre nossa API