(Opción 3) Sube facturas a través de la SP-API o manualmente a través de Seller Central

Cree sus propias facturas utilizando sus datos fiscales y cargue las facturas utilizando SP-API o manualmente a través de Seller Central (esta opción no utiliza VCS)

Todos los sellers que no eligen inscribirse en VCS también tienen la opción predeterminada de cargar sus propias facturas en Amazon mediante la API o manualmente en Seller Central. Esta sección se centrará en cargar las facturas a través de la API. En este caso, debe utilizar sus propios datos fiscales para crear sus facturas. No tendrá acceso al reporte de VIDR.

APIFeeds API

Operación

createFeed

FeedType

UPLOAD_VAT_INVOICE

marketplaceIds

España A1RKKUPIHCS9HS

Reino Unido A1F83G8C2ARO7P

Francia A13V1IB3VIYZZH

Alemania A1PA6795UKMFR9

Italia APJ6JRA9NG5V4

Países Bajos A1805IZSGTT6HS

Polonia A1C3SOZRARQ6R3

Suecia A2NODRKZP88ZB9

feedOptions

  • Especifique pares key-value(clave-valor) para proporcionar metadatos importantes junto con la factura en PDF. Las claves en estos pares key-value(clave-valor) son:

    • OrderId (obligatorio si no se especifica ShippingId). El identificador del pedido para el que se envía la factura.

    • ShippingId (obligatorio si no se especifica OrderId). El identificador del envío para el que se envía la factura.

Nota: Se requiere OrderId o ShippingId al cargar una factura. Amazon recomienda encarecidamente cargar una factura con el shipping ID. Si se especifican tanto order ID como shipping ID,Amazon ignorará el order ID y cargará la factura con el shipping ID. Si no se proporciona ninguno, se puede devolver un error. Los posibles errores se encuentran en las siguientes secciones.

  • TotalAmount (opcional pero recomendado). El importe total de la factura. Estos son los precios con IVA incluido en artículos, papel de regalo y envío, menos el IVA en todas las promociones. Si el monto total especificado no coincide con el monto total de Amazon para este envío, con dos decimales, se rechazará la carga de la factura. Recomendamos seguir estrictamente los cómputos de impuestos provistos en el VIDR.

  • TotalVATAmount (opcional pero recomendado). El importe total de la factura. Estos son los precios con IVA incluido en artículos, papel de regalo y envío, menos el IVA en todas las promociones. Si el monto total especificado no coincide con el monto total de Amazon para este envío, con dos decimales, se rechazará la carga de la factura. Recomendamos seguir estrictamente los cómputos de impuestos provistos en el VIDR.

  • InvoiceNumber (requerido). El número de factura utilizado en la factura. Este número de factura se compartirá con los clientes. Los sellers deben asegurarse de que aparezca el mismo número de factura en la factura.

  • DocumentType (requerido). Valores posibles: Invoice. Úsalo si estás subiendo una factura. CreditNote. Úsalo si estás subiendo una nota de crédito para un reembolso o una devolución. Por defecto: Invoice.

  • TransactionId (opcional). Requerido solo si DocumentType=CreditNote.

Separe los pares key-value(clave-valor) con punto y coma. Agregue metadata antes de cada clave.

Ejemplos de carga de facturas:

metadata:orderid=206-2341234-3455465;metadata:invoicenumber=INT-3431-XJE3;metadata:documenttype=Invoice

Ejemplo de nota de crédito:

metadata:orderid=206-2341234-3455465;metadata:invoicenumber=INT-3431-XJE3;metadata:documenttype=CreditNote

No se deben agregar comillas a las claves ni a los valores. Amazon solo acepta los siguientes caracteres: comas, barras diagonales, barras invertidas, espacios, guiones, guiones bajos, punto y coma, dos puntos, 0-9, A-Z, a-z, #. Amazon elimina los espacios adicionales.

  • FeedContent. Esto contiene el contenido del feed, en formato PDF.

El límite de limitación para el feed de facturación (UPLOAD_VAT_INVOICE) es una carga de factura cada tres segundos.

Puede utilizar el siguiente código de ejemplo para adjuntar el archivo PDF. Si bien este ejemplo está en Java, puede utilizarlo como modelo para otros lenguajes de programación.

Map\<String, String\> feedOptions = new HashMap\<\>(); // building parameter map

feedOptions.put("metadata:OrderId", "XXX-XXXXXXX-XXXXXXX");

feedOptions.put("metadata:TotalAmount", String.format(TOTALAMMOUNT));

feedOptions.put("metadata:TotalVATAmount", String.format(TOTALVATAMMOUNT));

feedOptions.put("metadata:InvoiceNumber", INVOICE_NUMBER);

String options = feedOptions.entrySet().stream()

.map(e -\> String.format("%s=%s", e.getKey(), e.getValue()))

.collect(Collectors.joining(";"));

File pdfD = new File("\<PATH TO PDF\>");

byte\[\] pdfDocument = FileUtils.readFileToByteArray(pdfD); // read pdf document to byte array

String contentMD5 = Base64.encodeBase64String(pdfDocument); // building hash code

InputStream contentStream = new ByteArrayInputStream(pdfDocument); // inputstream of

SubmitFeedResponse response = submitFeed(contentStream, contentMD5, "\_UPLOAD_VAT_INVOICE\_", options, ContentType.OctetStream);

public SubmitFeedResponse submitFeed(InputStream, String contentMD5, String feedType, String feedOptions, ContentType contentType)

{

SubmitFeedRequest request = new SubmitFeedRequest();

request.setContentMD5(contentMD5);

request.setFeedContent(inputStream);

request.setFeedOptions(feedOptions);

request.setFeedType(feedType);

request.setMarketplaceIdList(new IdList(Arrays.asList(getMarketPlaces());

request.setMerchant(configuration.getAmazon().getSellerId());

request.setMWSAuthToken(configuration.getAmazon().getMwsAuthToken());

request.setContentType(contentType);

return getMarketplaceWebServiceClient().submitFeed(request);

}

Con esta opción, se permite cargar más de una factura para el mismo order ID. Sin embargo, el número de factura debe ser único. Solo la última factura se considerará válida.