Última actualización 11/01/2023

Reportes de facturación

Con esta funcionalidad puedes conocer los reportes de la facturación realizada por Mercado Libre para los vendedores. Para esto, te recomendamos consultar /billing/period para obtener información de los últimos 12 períodos, luego con /bills conseguirás todas las facturas (documentos) de un periodo, y finalmente, con /summary y /details accedes al resumen de facturación de un periodo y a sus detalles respectivamente.

Facturación de Mercado Libre y Mercado Pago

Cada uno de los endpoints permite obtener información de facturación tanto de Mercado Libre, como de Mercado Pago. A través del parámetro de query obligatorio group podemos especificar de qué grupo de facturación queremos obtener la información.

Notas:
- Es importante que tengas en cuenta que las fechas de cierre de período expiration_date de cada entidad
( MP | ML) pueden no coincidir.
Por lo que al momento de consultar los endpoints que requieran ingresar una fecha de cierre de período, el expiration_date que se use tiene que estar asociado al group ( MP | ML) que se eligió al momento de consumir el endpoint “periods”, caso contrario devolverá información incorrecta.

- El parámetro document_type es obligatorio en /periods y opcional en /documents.

- El parámetro limit acepta 12 como máximo en /periods.

Obtener período

Importante:
El período de facturación puede variar según el usuario.

Permite obtener información de los períodos de facturación para el grupo de facturación indicado (Mercado Libre o Mercado Pago). Por defecto se devuelven los últimos 6 periodos, con la posibilidad de consultar períodos más antiguos utilizando la paginación de offset y limit.

Nota:
A través del parámetro document_type puede filtrar el tipo de documento que se desea obtener BILL | CREDIT_NOTE .

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods

Ejemplo:

curl -X GET  -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods?group=MP&document_type=BILL&offset=1&limit=2

Respuesta:

{
  "offset": 1,
  "limit": 2,
  "total": 27,
  "results": [{
      "amount": 30.46000027656555,
      "unpaid_amount": 0.0,
      "period": {
        "date_from": "2020-02-19",
        "date_to": "2020-03-18"
      },
      "expiration_date": "2020-03-24",
      "debt_expiration_date": "2020-03-24",
      "debt_expiration_date_move_reason": null,
      "debt_expiration_date_move_reason_description": null,
      "period_status": "CLOSED"
    },
    {
      "amount": 477888.1484375,
      "unpaid_amount": 0.0,
      "period": {
        "date_from": "2020-01-19",
        "date_to": "2020-02-18"
      },
      "expiration_date": "2020-02-24",
      "debt_expiration_date": "2020-03-23",
      "debt_expiration_date_move_reason": "PAYMENT_ANNULMENT",
      "debt_expiration_date_move_reason_description": "Anulación de pago",
      "period_status": "CLOSED"
    }
  ]
}

Campos de la respuesta

amount: monto total del período.
unpaid_amount: monto total pendiente de pago.
period: rango de fechas del período.

  • date_from: fecha de inicio del período.
  • date_to: fecha de fin del período.

expiration_date: es la fecha de cierre del período. Se informa siempre que el estado del período se encuentre cerrado. Valor utilizado para consumir los endpoints de documents, details y summary.

debt_expiration_date: es la fecha de vencimiento de la deuda. En el caso que no se mueva la fecha de vencimiento este campo será igual a expiration_date.
debt_expiration_date_move_reason: motivo del cambio de fecha de vencimiento de la deuda. En el caso que no se mueva la fecha de vencimiento este campo será null.
Valores posibles: : AUTOMATIC_DOCUMENT_CLOSURE_PROCES | RECEIPT_ANNULMENT_PROCESS_UNRECORDED | RECEIPT_ANNULMENT_PROCESS | PERIOD_EXTENDED_BY_ADMIN | PAYMENT_ANNULMENT

debt_expiration_date_move_reason_description: descripción internacionalizada de debt_expiration_date_move_reason. En el caso que no se mueva la fecha de vencimiento este campo será null.

period_status: indica si el período se encuentra abierto o cerrado. Valores posibles: OPEN | CLOSED .


Obtener documentos de un período

Permite obtener información de los documentos (Facturas y Notas de crédito) para un período de facturación en particular para el grupo de facturación indicado (Mercado Libre o Mercado Pago).

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/documents

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/202 1-06-02/documents?group=MP&document_type=BILL&limit=1

Respuesta:

{
  "offset": 0,
  "limit": 1,
  "total": 2,
  "results": [{
    "id": 987654321,
    "user_id": 1234,
    "document_type": "BILL",
    "expiration_date": "2021-06-02",
    "associated_document_id": null,
    "amount": 3.86,
             "unpaid_amount": 0.0,
    "document_status": "BILLED",
    "site_id": "MLM",
    "period": {
      "date_from": "2021-05-03",
      "date_to": "2021-05-03"
    },
    "currency_id": "MXN",
    "count_details": 1,
     "files": [
               {
                   "file_id": "1234_FE_MEPF00869625_pdf",
                   "reference_number": "MEPF00999999"
               },
               {
                   "file_id": "1234_FE_MEPF00869625_xml",
                   "reference_number": "MEPF00999999"
               }
           ]
  }]
}

Filtros opcionales

document_id: permite buscar por el id de la factura. Ej: document_id=987046992
document_type: permite buscar por tipo de documento: Factura o Nota de Crédito. Valores posibles: BILL | CREDIT_NOTE
offset: permite buscar desde un número de resultado en adelante Ej: offset=100 (devuelve a partir del resultado número 100).
limit: limita la cantidad de resultados. Por defecto el mínimo es 150. Máximo valor permitido: 1000. Ej: limit=300 (devuelve hasta 300 resultados).



Resumen de facturación

Permite obtener el resumen de cargos y bonificaciones que tuvo el vendedor para un período de tiempo en particular.

Nota:
A través del parámetro document_type puede filtrar el tipo de documento que se desea obtener BILL | CREDIT_NOTE.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/summary

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06 -02/summary?group=MP&document_type=BILL

Respuesta:

{
  "user": {
    "nickname": "TEST"
  },
  "period": {
    "date_from": "2021-05-01",
    "date_to": "2021-06-01",
    "expiration_date": "2021-06-02"
  },
  "summary": {
    "amount": 545562.37,
    "credit_note": 0,
    "tax": 0.00,
    "bonuses": [{
      "label": "Bonificación de MercadoPago",
      "amount": 7354.60
    },
    {
      "label": "Bonificación Impuesto a los Ingresos Brutos Cap. Fed.",
      "amount": 116.43
    },
    {
      "label": "Bonificación Impuesto al Valor Agregado Régimen General",
      "amount": 116.43
    }
    ],
    "charges": [{
        "label": "Cargo de MercadoPago",
        "amount": 524228.80
      },
      {
        "label": "Percepción General IIBB de CABA",
        "amount": 13003.72
      }, {
        "label": "Percepción IVA Régimen General",
        "amount": 13003.72

      },
      {
        "label": "Cargo por transferencia de dinero",
        "amount": 2913.59
      }
    ]
  }
}

Campos de la respuesta

summary: cargos y bonificaciones que tuvo el vendedor.
amount: total a pagar dentro del período de facturación consultado. Se forma con la suma de Cargos e Impuestos y resta de las Bonificaciones.
credit_note: bonificaciones de cargos generados en otros períodos. Las notas de crédito se utilizan para pagar facturas adeudadas.
tax: percepciones generadas por los distintos regímenes impositivos.
bonuses: reintegro de comisiones por tus ventas y servicios que no se concretaron. Los verás discriminados según el tipo de bonificación.

  • label: nombre de la bonificación
  • amount: monto de dicha bonificación.

Las bonificaciones pueden ser por los siguientes conceptos:

Cargos de venta y envíos: si una venta no se concreta debido a una devolución o por problemas con el correo (como pérdida o daño del producto), te reintegramos la comisión de venta y el cargo de envío.

Cargos de publicidad: si por error contrataste el servicio o hubo algún problema con el cobro, te reintegramos la diferencia.

Bonificaciones por Percepciones Impositivas: ccuando se devuelve un cargo por venta también se incluye la devolución correspondiente de la percepción impositiva de IVA (ya sea por un articulo nuevo o uno usado) y de Ingresos Brutos. Lo mismo si hubo errores en la aplicación de una percepción.

charges: diferentes cargos que puede tener el vendedor: comisiones por ventas, costo de publicaciones, percepciones impositivas, cobros de servicios. Por ejemplo: Mercado Envíos, Mercado Shops, etc.

En caso de contratar campañas publicitarias, también aparecerán en los cargos.


Detalle de conciliación

Permite obtener el detalle para conciliar las facturas y los cargos de ventas para un período en particular, el grupo de facturación (Mercado Libre o Mercado Pago) y el tipo de documento (Factura o Nota de Crédito). Esta información es la misma que se disponibiliza a través de la sección de reportes de facturación.

Notas:
- Si consultas con un offset superior a 10.000, te recomendamos utilizar los siguientes filtros y acotar los resultados, evitando respuestas demoradas.
- A través del parámetro document_type pude filtrar el tipo de documento que se desea obtener BILL | CREDIT_NOTE.

Mercado Libre

Para el caso de Mercado Libre, se expone el detalle de los cargos facturados, información de la venta, de descuentos, de envíos y de la publicación.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/details

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06-02/group/ML/details?document_type=BILL&limit=1

Respuesta:

{
   "offset": 0,
   "limit": 150,
   "total": 1,
   "results": [
       {
           "charge_info": {
               "legal_document_number": "0001A00123456",
               "legal_document_status": "PROCESSED",
               "legal_document_status_description": "Procesado",
               "creation_date_time": "2021-05-13T08:08:24",
               "detail_id": 123456789,
               "detail_amount": 342.49,
               "transaction_detail": "Cargo por Mercado Envíos",
               "debited_from_operation": "YES",
               "debited_from_operation_description": "Si",
               "status": null,
               "status_description": null,
               "charge_bonified_id": null,
               "detail_type": "CHARGE",
               "detail_sub_type": "CXD",
               "concept_type": "SHIPPING"
           },
           "discount_info": {
               "charge_amount_without_discount": 684.99,
               "discount_amount": 342.5,
               "discount_reason": "Descuento general"
           },
           "sales_info": [
               {
                   "order_id": 12345,
                   "operation_id": null,
                   "sale_date_time": "2021-05-13T08:05:10",
                   "sales_channel": "Mercado Libre",
                   "payer_nickname": "ABCD",
                   "state_name": "Neuquén",
                   "transaction_amount": 2499
               },
            ],
           "shipping_info": {
               "shipping_id": "123456789",
               "pack_id": "200000123456789",
               "receiver_shipping_cost": 0
           },
           "items_info": [
               {
                   "item_id": "MLA987654321",
                   "item_title": "Fabrica Magdalenas Cup Cake Maker Atma Cm8910e",
                   "item_type": "gold_special",
                   "item_type_description": "Clásica",
"item_category": "Electrodomésticos y Aires Ac. > Pequeños Electrodomésticos > Para Cocina > Máquinas para Postres > Máquinas de Cupcakes",
                   "inventory_id": null,
                   "item_amount": 1,
                   "item_price": 2499,
                   "order_id": 1234
               }
           ],
           "document_info": {
               "document_id": 1615633359
           },
           "marketplace_info": {
               "marketplace": "SHIPPING"
           },
           "currency_info": {
               "currency_id": "ARS"
           }
       }
   ],
   errors:[]
}

Mercado Pago

Para Mercado Pago se expone el detalle de cargos facturados con información complementaria sobre la operación de Mercado Pago, como los movimientos, medios de pago, payer, sucursal, punto de venta entre otros.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/MP/details

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-06-02/group/MP/details?document_type=BILL&limit=1

Respuesta:

{
   "offset": 0,
   "limit": 1,
   "total": 9,
   "results": [
       {
           "charge_info": {
               "legal_document_number": null,
               "legal_document_status": "PROCESSING",
               "legal_document_status_description": "En proceso",
               "concept_id": "12345678",
               "transaction_detail": "Cargo de MercadoPago",
               "creation_date_time": "2021-06-01T17:45:39",
               "detail_amount": 13.8,
       "detail_type": "CHARGE",
       "detail_sub_type": "CCMP"
               
           },
           "operation_info": {
               "operation_type": "BUY",
               "operation_type_description": "Pago",
               "reference_id": 12345678,
               "sales_channel": "Point",
               "store_id": 2222222,
               "store_name": "Store",
               "external_reference": "Venta presencial",
               "payer_nickname": "TEST",
               "transaction_amount": 340
           },
           "perception_info": {
               "aliquot": null,
               "taxable_amount": null
           },
          "document_info": {
       "document_id": 8888899999,
      },
     "market_type_info": {
       "marketplace": "MP"
           },
 
           "currency_info": {
               "currency_id": "MXN"
           }
       }
   ]
}

Filtros opcionales

  • date_sort: permite ordenar la búsqueda.
    asc: ordena los resultados de manera ascendente (valor por default)
    desc: ordena los resultados de manera descendente
    Ej: date_sort=asc
  • sort_by: permite seleccionar por qué campo ordenar. Valores posibles: DATE
  • detail_typepermite buscar por tipos de detalles.
    charge: trae solamente cargos
    bonus: trae solamente bonificaciones
    Ej: det_type=charge
  • detail_sub_types: permite filtrar por subtipos de detalles. Se pueden definir varios separados por coma.
    Ej: detail_sub_types=CV, BV
  • detail_excluded_sub_types: permite excluir de la búsqueda los subtipos de detalles indicados. Se pueden definir varios separados por coma.
    Ej: not_subtypes=CXD, BXD
  • marketplace_type: permite buscar por el market del detalle.
    Ej: marketplace_type=SHIPPING
  • order_ids: permite buscar por uno o varios id de la order. Disponible para ML.
    Ej: order_ids=2294412230
  • item_ids: permite buscar por uno o más id de la publicación.
    Ej: item_ids=724159812
  • document_ids: permite buscar por uno o más id de la factura.
    Ej: document_ids=987046992
  • detail_ids: permite buscar por uno o más id del detalle.
    Ej: detail_ids=724159812
  • offset: permite buscar desde un número de resultado en adelante. El valor mínimo permitido es 0 y el valor máximo permitido es 10000. Por defecto el valor es 0. Ej: offset=100 (devuelve a partir del resultado nro 100).
  • limit: limita la cantidad de resultados. Por defecto el mínimo es 1 y el máximo valor permitido: 1000 . Ej: limit=300 (devuelve hasta 300 resultados).
    Ej: limit=300 (devuelve hasta 300 resultados)


Campos de respuesta Mercado Libre

charge_info: información del cargo.

  • legal_document_number: número del documento.
  • legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED.
  • legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
  • creation_date_time: fecha de creación del cargo.
  • detail_id: identificador del cargo.
  • transaction_detail: detalle del cargo.
  • debited_from_operation: indica si está descontado de la operación. Valores posibles: YES | NO | INAPPLICABLE.
  • debited_from_operation_description: descripción internacionalizada del campo debited_from_operation.
  • status: estado del cargo. Valores posibles: BONUS_ON_CREDIT_NOTE | BONUS_PART_ON_CREDIT_NOTE | BONUS_ON_BILL | BONUS_PART_ON_BILL | BONUS_ON | BONUS_PART_ON.
  • status_description: descripción internacionalizada de status.
  • charge_bonified_id: identificador del cargo que bonifica.
  • detail_amount: monto del cargo.
  • detail_type: tipo de detalle.
  • detail_sub_type: subtipos de detalles.

discount_info: información sobre descuentos.

  • charge_amount_without_discount: valor del cargo sin descuento.
  • discount_amount: valor del descuento.
  • discount_reason: motivo del descuento.

sales_info: información de las ventas.

  • order_id: identificador de la venta.
  • operation_id: identificador del pago.
  • sale_date_time: fecha y hora de venta.
  • sales_channel: canal de venta.
  • payer_nickname: cliente.
  • state_name: provincia.
  • transaction_amount: monto total de la venta.

shipping_info: información del envío.

  • shipping_id: identificador del envío.
  • pack_id: identificador del paquete.
  • receiver_shipping_cost: envío a cargo del cliente.

items_info: información sobre las publicaciones.

  • item_id: identificador de la publicación.
  • item_title: título de la publicación.
  • item_type: tipo de publicación.
  • item_category: categoría de publicación.
  • inventory_id: código de Mercado Libre.
  • item_amount: cantidad de items vendidos.
  • item_price: precio unitario del ítem.
  • order_id: orden a la que pertenece el item.

documentInfo: información del documento.

  • document_id: número Id de documentos.

marketplaceInfo: información del marketplace.

  • marketplace: nombre del marketplace.

currency_info: información de la moneda de acuerdo al site_id.

  • currency_id: identificador de la moneda de acuerdo al site_id.


Campos de respuesta Mercado Pago

charge_info: información del cargo.

  • legal_document_number: número del documento.
  • detail_id: identificador del cargo.
  • movement_id: número de movimiento.
  • transaction_detail: detalle.
  • creation_date_time: fecha del cargo.
  • detail_amount: monto del cargo.
  • detail_type: tipo de detalle.
  • detail_sub_type: subtipos de detalles.

operation_info: información de la operación sobre la que aplica.

  • operation_type: tipo de operación. Valores posibles BUY | TAX .
  • operation_type_description: descripción internacionalizada del campo operation.
  • reference_id: número de operación relacionada.
  • sales_channel: tipo de pago.
  • store_id: número de sucursal.
  • store_name: nombre de la sucursal.
  • external_reference: número de referencia externa.
  • payer_nickname: cliente.
  • transation_amount: monto de la operación.

perception_info: información de la percepción.

  • aliquot: valor de la alícuota.
  • taxable_amount: base imponible.

documentInfo: información del documento.

  • document_id: número Id de documentos.

marketplaceInfo: información del marketplace.

  • marketplace: nombre del marketplace.

currency_info: información de la moneda de acuerdo al site_id.

  • currency_id: identificador de la moneda de acuerdo al site_id.


Detalle de conciliación Insurtech

Permite obtener el detalle para conciliar los cargos y bonificaciones de las garantías aplicadas sobre los productos para un período en particular, el grupo de facturación Mercado Libre y el tipo de documento (Factura o Nota de Crédito). Esta información es la misma que se disponibiliza a través de la sección de reportes de facturación para los usuarios de Insurtech. Los filtros opciones pueden ser utilizados de la misma manera que tenemos disponible para los detalles de Mercado Libre y Mercado Pago.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/group/ML/insurtech/details

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2022-10-02/group/ML/insurtech/details?document_type=BILL&limit=1

Respuesta:

{
   "offset": 0,
   "limit": 150,
   "total": 1,
   "results": [
       {
           "charge_info": {
               "legal_document_number": "001112131415",
               "legal_document_status": "PROCESSED",
               "legal_document_status_description": "Procesado",
               "creation_date_time": "2022-10-04T22:24:18",
               "detail_id": 123456,
               "detail_amount": 520.01,
               "transaction_detail": "Cargo por seguro de garantía extendida",
               "status": null,
               "status_description": null,
               "charge_bonified_id": null,
               "detail_type": "CHARGE",
               "detail_sub_type": "CEW",
               "concept_type": "WARRANTY"
           },
           "warranty_info": {
               "warranty_id": "11111111-43c2-44ea-8436-00000000",
               "certificate_id": "MLA999999",
               "warranty_product": "GAREX",
               "buyer_nickname": "TEST",
               "buyer_state_name": "Salta",
               "order": {
                   "order_id": 102030405060,
                   "order_items": [
                       {
                           "unit_price": 10791,
                           "listing_type_id": "gold_special",
                           "item": {
                               "item_id": "MLA88888888",
                               "title": "Auriculares Inalámbricos Jbl Tune 510bt Negro",
                               "category_id": "MLA1234",
                               "category_name": "Auriculares"
                           }
                       }
                   ]
               },
               "quote_model": null,
               "quote_brand": null,
               "quote_description": ""
           },
           "prepaid_info": {
               "operation_id": 55558888,
               "movement_id": 123456789,
               "doc_id": 11111111111,
               "payment": {
                   "payment_id": 5555555555,
                   "date_created": "2022-10-04T22:23:40",
                   "transaction_amount": 736.98,
                   "money_release_date": "2023-03-03T22:23:41"
               }
           },
           "document_info": {
               "document_id": 3333333333
           }
       }
]

Campos de respuesta Mercado Libre- Insurtech

charge_info: información del cargo.

  • legal_document_number: número del documento.
  • legal_document_status: estado de generación del documento. Valores posibles: PROCESSING | PROCESSED.
  • legal_document_status_description: descripción internacionalizada del estado del documento legal_document_status.
  • creation_date_time: fecha de creación del cargo.
  • detail_id: identificador del cargo.
  • detail_amount: mosnto de cargo.
  • transaction_detail: detalle del cargo.
  • status: estado del cargo. Valores posibles: BONUS_ON_CREDIT_NOTE | BONUS_PART_ON_CREDIT_NOTE | BONUS_ON_BILL | BONUS_PART_ON_BILL | BONUS_ON | BONUS_PART_ON.
  • status_description: descripción internacionalizada de status.
  • charge_bonified_id: identificador del cargo que bonifica.
  • detail_type: tipo de detalle.
  • detail_sub_type: subtipos de detalles.
  • concept_type: tipo de concepto.

wanrranty_info: información de la garantía.

  • wanrranty_id: identificador de la garantía.
  • certificate_id: identificador del certificado.
  • waranty_product: tipo de garantía. Valores posibles: CARDS, GAREX, RODA.
  • buyer_nickname: numero del comprador.
  • buyer_state_name: provincia del comprador.
  • order: información de la orden.
  • order_id: identificador de la orden.
  • order_items: lista de items de la orden.
  • unit_price: precio de la unidad.
  • listing_type_id: tipo de publicación.
  • item: información del item.
  • item_id: identificador del producto.
  • tittle: titulo del producto.
  • category_id: identificador de la categoría.
  • category_name: nombre de la categoría.
  • quote_model: modelo del producto. Aplica a RODA.
  • quote_brand: marca del producto. Aplica a RODA.
  • quote_description: descripción adicional. Aplica a RODA.

prepaid_info: información del pago.

  • operation_id: identificador de la operación.
  • movement_id: identificador del pago.
  • doc_id: identificador del documento.

payment: información del pago.

  • payment_id: identificador del pago.
  • date_created: fecha de pago.
  • transaction_amount: monto del pago.
  • money_release_date: fecha de liberación del dinero.


Permite descargar las facturas legales de Mercado Libre y Mercado Pago en formato PDF.

Notas:
- El file_id se obtiene consumiendo el endpoint de Documents.En algunos casos el endpoint de Documents puede devolver dos file_id. Solo en estos casos hay que tener en cuenta que se debe utilizar el file_id correspondiente al PDF.

- Si el endpoint de Document devuelve un único file_id. Entonces debes utilizar ese dato para la descarga del documento legal.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/legal_document/$FILE_ID

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/legal_document/1234_FE_MEPF00869625_pdf

Respuesta: descarga del archivo en formato PDF.



Descarga de reporte de detalle de conciliación

Para descargar los reportes de conciliación de Mercado Libre y Mercado Pago en los formatos XLSX y CSV hay que seguir un proceso de generación del reporte que consiste en tres pasos: Primero se genera el reporte de conciliación, luego hay que consultar el estado de generación del mismo hasta que se encuentre generado y finalmente se procede a la descarga.


1. Generación del reporte

A través de este endpoint, se procede con la generación del reporte.

Llamada:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...}
https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/reports

Ejemplo:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN'
-d '{
   "group": "MP",
   "document_type": "BILL",
   "report_format": "CSV"
}' 
https://api.mercadolibre.com/billing/integration/periods/2021-08 -04/reports

Respuesta:

{
"fileId": "ML-report-BILL-2021-08-04-11119999-CSV-v2"
}

2. Estado de generación de reporte

A través de este endpoint, se permite obtener el estado de generación de un reporte.Los estados pueden ser:

  • PROCESSING: el reporte se está generando.
  • READY: el reporte se terminó de generar.
  • ERROR: la generación del reporte falló, se debe volver a consultar.

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/$FILE_ID/status

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/ML-repo rt-BILL-2021-08-04-11119999-CSV-v2/status?document_type=BILL

Respuesta:

{
"status": "PROCESSING"
}

3. Descarga del reporte

A través de este endpoint se permite realizar la descarga del reporte. Esta descarga podrá ser efectiva una vez que el estado de la generación sea “Ready”.


Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/$FILE_ID

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/reports/ML-repo rt-BILL-2021-08-04-11119999-CSV-v2?document_type=BILL

Resumen de percepciones

Importante:
Aplica solamente para Argentina.

Permite obtener el resumen de percepciones que tuvo el vendedor para un período en particular, el grupo de facturación (Mercado Libre o Mercado Pago).


Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/$EXPIRATION_DATE/perceptions/summary

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/periods/2021-08-02/perceptions/summary?group=MP

Respuesta:

{
"summary": [
       {
        "document_id": 123456789,
        "society": "ML",
        "legal_document_number": "0011A012345678",
        "user_fiscal_condition": "Responsable inscripto sin incumplimientos",
        "amount": 229314.11,
        "regimen_tax_type": "MLA_RE_IVA_N",
        "regimen_tax_type_description": "Percepción de IVA nuevos del régimen 
especial",
        "taxable_amount": 22931410.96,
        "aliquot": 1.00,
           "coefficient": 1.0000,
           "perception_charge_number": 1123456789,
           "tax_type": "CRGI",
           "tax_type_description": 
"Percepción Impuesto al Valor Agregado nuevos",
           "bill_date": "2021-11-29",
           "status": "APPLIED",
           "status_description": "Aplicado"
      "tax_ids": [123345678,233455678]  
       }
],
"errors": []
}


Campos de la respuesta

summary: información del resumen.

  • document_id: identificador del documento.
  • society: sociedad. .Valores posibles ML | MP.
  • legal_document_number: número de documento.
  • user_fiscal_condition: condición fiscal del usuario.
  • amount: total a pagar dentro del período consultado.
  • regimen_tax_type: régimen del tipo de impuesto.
  • regimen_tax_type_description: descripción internacionalizada del régimen del tipo de impuesto.
  • taxable_amount: base imponible.
  • aliquot: alor de la alícuota.
  • coefficient: coeficiente que interviene en el cálculo del impuesto.
  • perception_charge_number: número de cargo de percepción.
  • tax_type: tipo de impuesto.
  • tax_type_description: descripción internacionalizada del tipo de impuesto.
  • bill_date: fecha de facturación.
  • status: estado del resumen.
  • status_description: descripción internacionalizada del estado.
  • tax_ids: tipos de impuestos.

Detalle de percepciones

Importante:
Aplica solamente para Argentina.

Permite obtener el detalle de una determinada percepción. Para percepciones de Mercado Libre a partir del código de percepción y el número de documento. Para percepciones de Mercado Pago a partir del código de percepción, el número de documento y el identificador del impuesto.

Notas:
- Mercado Pago: con el campo tax_type, document_id y tax_id se accede al detalle de la percepción y del documento indicado en los filtros.
- Mercado Libre: con el campo tax_type, document_id se accede al detalle de la percepción y del documento indicado en los filtros.
- Dichos campos se obtienen del endpoint Resumen de percepciones.
- Los campos resultados varían de acuerdo al tax_type consultado: Régimen General, Regimen Especial, Régimen Tucumán.

Mercado Libre

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/ML/perceptions/details

Ejemplo (Régimen General):

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/ML/perceptions/details?document_id=333555777&tax_type=CIVA&offset=1&limit=2

Respuesta (Régimen General):

{
   "offset": 0,
   "limit": 150,
   "total": 4241,
   "results": [
       {
           "detail_id": 12345678,
           "date_created": "2021-10-30",
           "taxable_amount": 2660.0,
           "aliquot": 3.0,
           "tax_amount": 79.8,
           "transaction_detail": "CV",
           "transaction_detail_description": "Cargo por venta",
           "charge_bonified_id": null,
           "amount": 2660.0,
           "gross_amount": 3218.6,
           "detail_type": "CHARGE",
           "detail_type_description": "Cargo"
       }],
   "errors": []
}

Mercado Pago

Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/MP/perceptions/details

Ejemplo (Régimen General):

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/billing/integration/group/MP/perceptions/details?document_id=333555777&tax_type=CIVAMP&tax_id=12345&tax_id=12345&offset=1&limit=2

Respuesta (Régimen General):

{
   "offset": 0,
   "limit": 150,
   "total": 5,
   "results": [
       {
           "detail_id": 1114444,
           "date_created": "2021-10-30",
           "taxable_amount": 154.93,
           "aliquot": 3.0,
           "tax_amount": 4.6479,
           "movement_id": "1234567",
           "reference_id": 1234567,
           "transaction_detail": "CCMP",
           "transaction_detail_description": "Cargo de MercadoPago",
           "amount": 154.93,
           "gross_amount": 187.46,
           "detail_type": "CHARGE",
           "detail_type_description": "Cargo"
       }],
   "errors": []
}


Campos de la respuesta

Para Mercado Libre y para una percepción del Régimen General se retornan los siguientes datos:

detail_id: identificador del detalle.

date_created: fecha de creación.

taxable_amount: base imponible.

aliquot: valor de la alícuota..

tax_amount: importe del impuesto.

transaction_detai: detalle de la transacción.

transaction_detail_description: descripción internacionalizada de detalle de la transacción.

charge_bonified_id: identificador del cargo que bonifica en el caso que el cargo se un bonus.

amount: monto de la percepción.

gross_amount: monto bruto de la percepción.

detail_type: tipo de detalle a que aplica la percepción.

detail_type_description: descripción del tipo de detalle al que aplica la percepción.


Para Mercado libre y para una percepción del Régimen Especial se informan además los siguientes datos:

publish_number: número de publicación.

publish_title: título de la publicación.

sale_date: fecha de venta.

sale_number: número de venta.

buyer_name: número del comprador.

buyer_state_name: provincia del comprador.


Para Mercado Libre y para una percepción del Régimen Tucumán se informa además el siguiente dato:

coefficient: coeficiente con el que se calcula el importe del impuesto.


Para Mercado Pago se informa además los siguientes datos:

movement_id: número de movimiento.

reference_id: operación relacionada.


Código de respuesta HTTP

206 – Partial content: en algunos casos, los endpoints devolverán el código 206 – Partial content. Esto ocurrirá cuando falle la solicitud a algunos de los datos (por ejemplo, descuento de un detalle) para informarte que recibirás una respuesta incompleta. Los errores se podrán visualizar en el campo errors de la respuesta del endpoint.


Estructura del campo errors:

"errors": [
       {
           "index": 3,
           "error_type": "PARTIAL_CONTENT",
           "messages": "An error occurred while retrieving the information. Try again"    
       },
]

Descripción de los campos

index: posición del objeto que no se pudo recuperar.

date_created: tipo de error.

taxable_amount: descripción del error.

Nota:
Aplica para todos los endpoints, excepto para la descarga de documento legal y descarga de reporte de detalle de conciliación en formato XLSX y CSV.


Posibles errores

Los errores esperados que puedan ocurrir en la aplicación serán devueltos teniendo en cuenta la siguiente estructura:

{
   "timestamp": string($date-time),
   "status": integer($int32),
   "type": string,
   "message": string,

  "path": string,
   "errors": {

<*>: string }
}

timestamp: informa la fecha y hora a la que se generó el error.

status: informa el código de error retornado.

type: código de error de aplicación. Los valores posibles:

  • ABUSE_PREVENTION_ERROR
  • AUTHENTICATION_ERROR
  • AUTHORIZATION_ERROR
  • BAD_REQUEST_ERROR
  • VALIDATION_ERROR
  • TYPE_MISMATCH_ERROR
  • INTERNAL_ERROR
  • MISSING_PARAMETER_ERROR
  • METHOD_NOT_ALLOWED_ERROR
  • NOT_FOUND_ERROR

message: indica un mensaje de error.

path: informa el endpoint que fue consumido.

errors: informa los errores ocurridos.


Ejemplo:

{
   "timestamp": "2021-07-07T21:21:09.72319Z",
   "status": 422,
   "type": "TYPE_MISMATCH_ERROR",
   "message": "Type mismatch error.",
   "path": "/periods",
   "errors": {
       "group": "Invalid format for value "
   }
}