(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.
API | Feeds API |
---|---|
Operación | createFeed |
FeedType | UPLOAD_VAT_INVOICE |
marketplaceIds | España Reino Unido Francia Alemania Italia Países Bajos Polonia Suecia |
feedOptions |
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.
Separe los pares key-value(clave-valor) con punto y coma. Agregue metadata antes de cada clave. Ejemplos de carga de facturas:
Ejemplo de nota de crédito:
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.
|
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.
Updated over 1 year ago