1. Descripción General
Documento publico PuntoVenta que contiene un schema genérico que permite enviar tickets para ser procesados posteriormente por el trabajo Resumen Punto de Venta v2
Componentes Principales:
-
Documento público “PuntoVenta” en la plataforma Deals
-
Método POST público “PuntoVentaItemPost”
-
Método GET público “PuntoVentaItemPost”
2. Esquema del Documento
{
"IdentificacionExterna": "referencia del sistema externo",
"Fecha": "String - Fecha de emisión del comprobante (AAAA-MM-DD)",
"SucursalCodigo": "String - Código identificador de la sucursal emisora",
"CondicionPagoCodigo": "String - Código de la condición de venta (Ej: Contado, Cuenta Corriente)",
"NumeroDocumento": "String - Número legal del comprobante (Punto de venta y número)",
"MonedaCodigo": "String - Código de la moneda (Ej: PES, USD)",
"ComprobanteTipoImpositivoCodigo": "String - Código fiscal del tipo de comprobante (Ej: 001)",
"TipoDocumento": "String -Código de Tipo de documento",
"ListaPrecioCodigo": "String - Código de la lista de precios",
"VendedorCodigo": "String - Código del vendedor",
"Descripcion": "String - Observaciones generales del comprobante",
"Cae": "String - Código de Autorización Electrónico (otorgado por ente fiscal)",
"FechaCae": "String - Fecha de vencimiento del CAE",
"ImporteTotal": "Number/Decimal - Monto total final del comprobante",
"Cliente": {
"CodigoCliente": "String - Código de cliente ",
"IdentificacionCliente": "String - Número de documento o CUIT del cliente",
"TipoIdentificacionTributaria": "String - Tipo de ID (Ej: DNI, CUIT, PAS)",
"Nombre": "String - Nombre comercial o nombre del cliente",
"RazonSocial": "String - Razón social legal del cliente",
"CategoriaFiscalCodigo": "String - Condición frente al IVA (Ej: RI, CF, EX)"
},
"ItemsProductos": [
{
"ProductoCodigo": "String - Código SKU o identificador del producto",
"Cantidad": "Number - Cantidad de unidades vendidas",
"Precio": "Number/Decimal - Precio unitario del producto",
"ImporteExento": "Number/Decimal - Monto del ítem no sujeto a impuestos",
"Descripcion": "String - Nombre o descripción detallada del producto",
"DepositoCodigo": "String - Código del depósito de donde egresa el stock",
"ItemsProductosConceptos": [
{
"CodigoTasaImpositiva": "String - Código de Conceptos o Impuesto Interno Calculado (Ej: VENTA_IVA 21)",
"ImporteDeIVA": "Number/Decimal - Monto calculado del impuesto",
"IVAImporteGravado": "Number/Decimal - Base imponible sobre la cual se calcula el IVA",
"PorcentajeTasaImpositiva": "Number/Decimal - Porcentaje de la alícuota (Ej: 21.00)"
}
]
}
],
"Cobro": [
{
"ImporteACobrar": "Number/Decimal - Monto parcial o total abonado en este medio",
"MonedaCobroCodigo": "String - Código de Moneda",
"CUIT": "String - CUIT relacionado a la tarjeta o medio de pago",
"NumeroTarjeta": "String - Números de la tarjeta",
"FormaPago": "String - Código del medio de pago (EF, BANCO, TARJ, CTACTE)",
"MetodoPago": "String - Cuenta contable si corresponde a CTACTE o EF, o Código de Operación Bancaria si la forma de pago es TARJ o BANCO.",
"BancoCodigo": "String - Código del banco emisor",
"FechaVencimiento": "String - Vencimiento del medio de pago o cupón",
"NumeroAutorizacionCupon": "String - Código de autorización de la transacción",
"NumeroCupon": "String - Número de comprobante del posnet/transacción",
"NumeroLote": "String - Número de lote del cierre de terminal",
"Titular": "String - Nombre del dueño de la tarjeta o cheque",
"Beneficiario": "String - Nombre a quien se emite el pago (si aplica)",
"Descripcion": "String - Nota adicional sobre el cobro",
"FechaCupon": "String - Fecha en que se realizó la transacción de cobro",
"DocumentoTitular": "String - DNI del titular del medio de pago"
}
],
"Percepciones": [
{
"Numero": "Number - Número de certificado de percepción/retención",
"RetencionCodigo": "String - Código del tipo de percepción aplicada",
"Fecha": "String - Fecha de aplicación del impuesto",
"Importe": "Number/Decimal - Monto de la percepción",
"IsarAcumulado": "Number/Decimal - Valor acumulado de seguridad social/impuesto específico",
"Isar": "Number/Decimal - Valor actual del impuesto específico"
}
],
"ImporteTotalCobranza": "Number/Decimal - Sumatoria total de los montos en el array de Cobro",
"ImporteTotalCtaCte": "Number/Decimal - Monto remanente que queda como deuda en cuenta corriente"
}
Configuración Necesaria
Ir a menú → Deals–> Publicaciones -->Publicaciones Propias, agregar un nuevo método de publicaciones. Seleccionar documento “PuntoVenta” y método de publicación “PuntoVentaItemPost”
Ir a menú → Deals–> Descargas → Mis descargas, agregar un nuevo método de Descargar. Seleccionar documento “PuntoVenta” y método de descarga “PuntoVentaSendToERP”
Luego activar el check “Activar Webhook” e ir a “orígenes permitidos”
En “orígenes permitidos” Seleccionar la opción PuntoVentaItemPost*.*
Parámetros Públicos:
Los siguientes parámetros son opcionales:
- cuentaContableCliente: código de cuenta contable para crear un cliente
- conceptoCliente: código de concepto para crear un cliente
- moneda: código de moneda para las ventas ingresen siempre con la moneda designada.
4.2 Configuración de Sinónimos
Campos Sinonimizables:
- TipoIdentificacionTributaria - Ejemplo
cuit = CUIT - CategoriaFiscal - Ejemplo
1 = RI - CodigoTasaImpositiva - Ejemplo
21 =VENTA_IVA 21 - TipoDocumento - Ejemplo
factura b fiscal = FACTVEN - ComprobanteTipoImpositivoCodigo - Ejemplo
b fiscal = 006 - SucursalCodigo - Ejemplo
21482-1 = EMPRE01 - MetodoPago - Ejemplo
EFECTIVO = CE
Estos campos sinonimizables nos permiten mapear información del sistemas externo que no puede resolver con los códigos de Finnegans.
Consideraciones:
La API esta preparada para crear clientes si es necesario:
"Cliente": [
{
"CodigoCliente: "5"
"IdentificacionCliente": "40571936",
"TipoIdentificacionTributaria": "DNI",
"Nombre": "Martín Saba",
"RazonSocial": "Martín Saba",
"CategoriaFiscalCodigo": "CF"
}
]
Manejo de Formas de cobro:
-
Si el campo FormaPago tiene el valor “EF”, la información a enviar el campo MetodoPago debe ser un código de cuenta contable
-
Si el campo FormaPago tiene el valor “BANCO”, la información a enviar el campo MetodoPago debe ser un código de operación bancaria.
-
Si el campo FormaPago tiene el valor “TARJ”, la información a enviar el campo MetodoPago debe ser un código de operación bancaria.
-
Si el campo FormaPago tiene el valor “CTACTE”, la información a enviar el campo MetodoPago debe ser un código de cuenta contable
Nota: La operación bancaria debe tener configurada una cuenta contable default.
Para transformar los tickets en Facturas y recibos de cobranzas, se debe configurar el Trabajo Generación Resumen Punto de Venta.






