BRIDGE API - Rabbit - Exportación de una transacción de retail



REVISIONES
FechaVersiónDescripciónAutor

 

1.1

Se agregan campos:  

priceListId y datos del contacto del cliente, 

 

1.2

Se agrega datos de envío

 

1.3

Se agregan datos de garantía extendida

 

1.4

Se agregan campo a nivel cabecera, item y payment

 

1.5

Se agregan campos y detalles en pago. Ejemplos de tipo de items.

Se ajusta el campo sequence de discounts a string

 

1.6

Se agrega cobranzas y devolución de cobranzas, con json de ejemplo

 

1.7

Se agregan los atributos de un item y datos de jurisdicción de los impuestos de cliente (percepciones)

 

1.8

Se agrega el modelo de información Data Lake

 

1.9

Se agregan campos de facturación de un pedido de Omni

 

2.0

Se agregan campos de facturación de pedidos de Omni

 

2.1

Se agrega un campo a nivel item "voidedBy"



CONTENIDO




Introducción

Transacciones de venta, devolución o cambio - sale, return o exchange

Este servicio posee la descripción de la transacción que es generada ante cada operación de venta, cambio o devolución.

Se exporta a colas RabbitMQ y lo que se postea, posee formato JSON.


Transacciones de cobranzas, devoluciones de cobranza, remitos, anulación de remitos, facturación de remitos 

También se agregan las transacciones del tipo:  

  • 'BillShipmentDocument':  facturación de remitos de ticket car, facturación de remito de cuenta corriente, facturación de remito prepago (anticipo)
  • 'ReturnShipmentDocument': devolución de facturación de remitos de ticket car, devolución de facturación de remitos cuenta corriente, devolución de facturación de remitos prepagos
  • 'VoidShipmentDocument': anulación de remito ticket car, anulación de remitos Axioncard (combustible y lubricantes), anulación de remito cuenta corriente , anulación de remito prepago
  • 'PaymentOnAccount': Cobranza de facturas de cuenta corriente
  • 'ReturnPaymentOnAccount': Devolución de cobranza de facturas de cuenta corriente

Configuración

  • La habilitación del envío de este tipo de transacción se podrán configurar desde Configuración/colas de exportación


Monitor de exportaciones

  • La exportación se podrá consultar desde el menú Monitoreo/Monitor de exportaciones 

JSON de ejemplo

Se adjuntan al post, diferentes ejemplos de transacciones en formato JSON a modo de referencia

#Descripción

JSON ejemplo

1
  • Venta de un ítem al 22% de iva (tasa básica)
  • Pago en efectivo
  • Sin descuentos
2
  • Venta de un ítem al 10% de iva (tasa mínima) y un item al 0% (exento)
  • Pago en efectivo
  • Sin descuentos
3
  • Venta de un ítem al 22% de iva (tasa básica), un ítem al 10% de iva (tasa mínima) y un ítem al 0% (exento)
  • Pago en efectivo
  • Sin descuentos
4
  • Venta de un ítem al 22% de iva (tasa básica)
  • Pago en efectivo
  • Con descuentos al ítem por promoción
5
  • Venta de un ítem al 22% de iva (tasa básica)
  • Pago en efectivo y tarjeta bancaria
  • Con descuentos al ítem por promoción
6
  • Venta de un ítem al 22% de iva (tasa básica)
  • Pago en efectivo
  • Con cupón emitido por aplicación de una promoción
7
  • Venta de un ítem al 22% de iva (tasa básica) y un ítem exento 0%
  • Pago en efectivo
  • Con descuento manual a la transacción
8
  • Venta de un ítem al 22% de iva (tasa básica)
  • Con descuento manual al artículo
  • Pago en efectivo
9
  • Venta con factura en moneda extranjera (dólar)
  • Venta de un ítem al 22%
  • Con descuento por promoción
  • Pago en dólar
10Ejemplo de paymentOnAccount (cobranza) 
11Ejemplo de returnPaymentOnAccount (devolución de cobranza) 
12

Ejemplo de billShipmentDocument (facturación de remito)

13Ejemplo de voidShipmentDocument (anulación de remito)
14Ejemplo de returnShipmentDocument (devolución de facturación de remito)


Detalle de los campos de una transactionRetail 

** Para el modelo de exportación DataLake, a continuación se detalla la tabla TransactionRetail
CampoTipoDescripción
idstring

ID del registro asignado por el motor de base de datos, MongoDB

trxTypestring

El tipo de transacción, pueden ser los valores 'Sale', 'Return' o 'Exchange'

El tipo de transacción, pueden ser los valores

  • 'Sale' (venta, remitos ticket car),
  • 'Return' (devolución, anulación remitos),
  • 'Exchange' (cambio de un item por otro item),
  • 'BillShipmentDocument' (facturación de remitos), 
  • 'ReturnShipmentDocument' (devolución de facturación de remitos),
  • 'VoidShipmentDocument' (anulación de remito)
  • 'PaymentOnAccount': Cobranza de facturas de cuenta corriente
  • 'ReturnPaymentOnAccount': Devolución de cobranza de facturas de cuenta corriente
trxNumbernumberNumero de transacción de la terminal
originalTrxNumbernumberEn caso de devoluciones, es requerido el numero original de la transacción
originalStoreCodestringEn caso de devoluciones, código de la tienda de la transacción original
originalTerminalCodestringEn caso de devoluciones, número de la terminal de la transacción original
trxTypeLangstringEs el tipo de la transacción, en español, Venta, Devolución o Cambio
companyCodestringCódigo de compañía
companyNamestringNombre de la compañía
storeCodestringCódigo de la tienda
storeNamestringNombre de la tienda
terminalCodestringCódigo de la terminal
periodNumbernumberNumero de período
sbPeriodNumbernumberNúmero de turno
businessDayDateDateDia fiscal
beginDateTimeDateFecha de inicio de la transacción Formato: 2021-08-18T11:34:29.829Z
endDateTimeDateFecha de fin de la transacción Formato: 2021-08-18T11:34:29.829Z
beginDateTimeAsIntnumberFecha de inicio de la transacción, como entero
beginDateTimeHournumberFecha de fin de la transacción, como entero
operatorCodestringCódigo de operador o cajero
operatorNamestringNombre del operador
itemCountnumberCantidad de items de la venta  (suma de tag quantity. Si el item es voiding = true, resta)
grossAmountnumber

Monto bruto, con impuestos incluidos (IVA e impuestos internos), sin percepciones

NO se restan los descuentos que la transacción pudiera tener.

Ni los items anulados

En las siguientes transacciones, se informa en 0: Return, ReturnShipmentDocument, VoidShipmentDocument, ReturnPaymentOnAccount

taxAmountnumber

Importe de impuestos  (IVA, impuestos internos y percepciones)

promoDiscountAmountnumberDescuentos otorgados por promociones generales
manualDiscountAmountnumberDescuentos otorgados por descuentos manuales tanto de item como de transacción con impuestos incluidos (IVA e impuestos internos)
trainingModeFlagbooleanSi es modo entrenamiento
suspendedFlagbooleanSi es una transacción suspendida
cancelFlagbooleanSi es una transacción cancelada
offlineFlagbooleanSi es una transacción offline
contingencyFlagbooleanSi es una transacción cargada en contingencia
voidedFlagbooleanIndica si la transacción fue anulada. No utilizado en Bridge
nccProcessedFlagbooleanIndica si el medio de pago utilizado en la transacción fue Nota de Crédito (funcionalidad propia de Bridge)
netSalesAmountnumber

Monto neto de descuentos de la transacción (grossAmount + perceptionAmount - discounts)

En las siguientes transacciones, se informa en 0: Return, ReturnShipmentDocument, VoidShipmentDocument, ReturnPaymentOnAccount

---------------

  • Si la configuración es sin impuestos

Monto neto de descuentos de la transacción (grossAmount + perceptionAmount - discounts) sin IVA

returnAmountnumber

Monto de la devolución, para el caso de los cambios

En las siguientes transacciones, se informa en 0: Sale, BillShipmentDocument, PaymentOnAccount

grossPositiveAmountnumberMonto positivo de la venta (productos)
grossNegativeAmountnumber

Monto negativo de la venta (descuentos)

1- descuentos 2- productos anulados (voiding=true) 3- item de extra cash y de redondeo (returned=true)

Monto de la devolución (productos)

ivaTaxAmountnumberImpuesto al valor agregado (VAT)
internalTaxAmountnumberImpuestos internos (TAX)
perceptionAmountnumberImporte de percepciones (impuesto a clientes de Argentina)
transactionDiscountAmountnumberImporte general de descuentos de la transacción (descuentos por promociones + descuentos manuales) – sólo los que son a nivel transacción
iva0AmountnumberMonto imponible de la venta con impuestos al 0% (solo Argentina)
iva21AmountnumberMonto imponible de la venta con impuestos al 21%  (solo Argentina)
iva10AmountnumberMonto imponible de la venta con impuestos al 10%  (solo Argentina)
iva27AmountnumberMonto imponible de la venta con impuestos al 27%  (solo Argentina)
fiscalPosNumberstringNúmero de centro emisor para emisión de factura electrónica
billTypestring

Tipo de comprobante, las opciones son FC A, FC B, NC A, NC B/ Remito: RM A, RM B / Anulación de remito: DEVRM A, DEVRM B / Recibo: RC A, RC B / Devolución de recibo: CR A, CR B

serieOfficialBillstringA o B de acuerdo a si es un comprobante a responsable inscripto o no
billNumberstringNumero fe factura electrónica o comprobante fiscal
fiscalCAENumberstringNúmero de autorización de factura electrónica
fiscalCAEDateDateFecha de autorización de factura electrónica
currentZNumbernumberNúmero de Z fiscal
currencyDescriptionstringDescripción de la moneda de la operación
originalSerieOfficialBillstringEn caso de ser una nota de crédito, referencia a la factura original (serie del documento)
originalFiscalPOSNumberstringEn caso de ser una nota de crédito, referencia a la factura original (nro de punto de venta fiscal)
originalBillNumberstringEn caso de ser una nota de crédito, referencia a la factura original (nro de documento)
originalBillTypestringEn caso de ser una nota de crédito, referencia a la factura original (tipo de documento)
hasCustomerbooleanSi posee un cliente asociado o no
denominationstringEl nombre del cliente, en caso de poseer uno asociado
partyCodestringEl código del cliente, generalmente es su identificación
partyTaxCategorystringLa categoría impositiva del cliente, puede ser CF (Consumidor Final) o RI (Responsable Inscripto)
partyTypestringSi es persona PRS o Organización OGN
partyFirstNamestringPrimer nombre del cliente
partyLastNamestringApellido del cliente
partyPersonbooleanSi es una persona
partyOrganizationbooleanSi es una organización
partyIdentificationTypestringTipo de identificación. 1 DNI 2 Pasaporte 3 CUIT 4 CUIL
partyIdentificationNumberstringNumero de identificación


"partyAddressFirstLine":"Av. Casa 1234",

"partyAddressCity":"Florida",

"partyAddressCityCode":"BSAS_182",

"partyAddressState":"BUENOS AIRES",

"partyAddressStateCode":"BSAS",

"partyAddressCountry":"Argentina",

"partyAddressCountryCode":"ARG",

string

Datos de contacto del cliente

"partyAddressFirstLine": Dirección 

"partyAddressCity": Ciudad

"partyAddressCityCode": Código de la ciudad

"partyAddressState": Provincia o estado

"partyAddressStateCode": Código de la provincia o estado

"partyAddressCountry": País

"partyAddressCountryCode": Código del país

"partyEmail":"[email protected]",

"partyTelephone":"54-11-123456789",


Email

Teléfono

promoCouponLoyalty [ {

barcode

barcodeFormat

format

linesToPrint

promotionID

benefitID

type

} ]

lista

Cupones del módulo de fidelidad

  • código de barras o nro. del cupón
  • formato del código de barras (ej: EAN13)
  • formato (digital o impreso)
  • líneas a imprimir en el cupón
  • ID de la promoción
  • ID del beneficio
  • Tipo de cupón

manualDiscounts [ {

discount

customerDiscount

typeCode

discountEntryMethod

percent

type

promo

voiding

voidFlag

baseAmount

customerBaseAmount

reasonCode

benefitApplicationMethodResume

benefitApplicationMethodLineByLine

} ]

lista

Descuentos manuales a la transacción

  • monto del descuento
  • monto de descuento al cliente
  • tipo: sale o return
  • método de ingreso: teclado (keyed)
  • porcentaje
  • tipo
  • es por promo (ej: false)
  • anula
  • anulado
  • monto base sobre el cual aplica el descuento
  • monto base del cliente sobre el cual aplica el descuento
  • código del motivo de descuento (ej: OS)
  • método de aplicación resumen (false porque no es de Promo)
  • método de aplicación línea a línea (false porque no es de Promo)
cfeTipoDocRefnumberTipo de comprobante codificado por DGI Uruguay     

cfeSerie

stringSerie del comprobante (Uruguay)

cfeNroRef

stringNumero de comprobante (Uruguay)

cfeFechaRef

dateFecha de emisión (Uruguay)

originalCfeTipoDocRef

numberSólo en devoluciones, tipo de comprobante codificado por DGI Uruguay de la venta original    (Uruguay)

originalCfeSerie

stringSólo en devoluciones, serie del comprobante de la venta original    (Uruguay)

originalCfeNroRef

stringSólo en devoluciones, número de comprobante de la venta original    (Uruguay)

originalCfeFechaRef

dateSólo en devoluciones, fecha de emisión de la venta original    (Uruguay)
baseCurrencyCodestringCódigo ISO de la moneda base
foreignCurrencySellingQuotenumberCotización de la moneda (aplica si fue facturado en moneda extranjera)
invoiceCurrencyCodestringCódigo ISO de la moneda de facturación (aplica si fue facturado en moneda extranjera)

"foreignCurrencyInfo": {
"promoDiscountAmount": 20,
"manualDiscountAmount": 0,
"grossAmount": 109.09,
"taxAmount": 12.46,
"grossPositiveAmount": 89.09,
"grossNegativeAmount": 20,
"ivaTaxAmount": 12.46,
"internalTaxAmount": 0,
"perceptionAmount": 0,
"transactionDiscountAmount": 0,
"netSalesAmount": 69.09
},

lista

campos tipo number

Lista de los campos en moneda original de facturación (aplica si fue facturado en moneda extranjera)

foreignCurrencyInfo: Información en moneda extranjera de la transacción

  • monto de descuento por promoción en moneda extranjera
  • monto de descuento manual en moneda extranjera
  • monto bruto en moneda extranjera
  • monto de impuesto en moneda extranjera
  • monto de bruto positivo en moneda extranjera
  • monto de bruto negativo en moneda extranjera
  • monto de iva en moneda extranjera
  • monto de impuesto interno en moneda extranjera
  • monto de percepciones en moneda extranjera
  • monto de descuento a la transacción en moneda extranjera
  • monto de venta neta en moneda extranjera
billTotalAmountnumberMonto total de la transacción. Si devolución o anulación con signo negativo
events listaLista de eventos de Promo
 "shipment" : {
        "contactMethodType" : "1137747274",
        "firstLine" : "Freire",
        "city" : "Capital Federal",
        "cityCode" : "CABA_000",
        "state" : "CIUDAD AUTONOMA DE BUENOS AIRES",
        "stateCode" : "CABA",
        "country" : "Argentina",
        "codeCountry" : "ARG",
        "postalCode" : "1426",
        "emailAddress" : "[email protected]",
        "countryCode" : "54",
        "areaCode" : "11",
        "telephoneNumber" : "11111111"
    },

Datos de envío a domicilio o retiro en otra tienda/punto de retiro 

  • Si es envío a domicilio se indica el método de contacto del cliente para el envío y su detalle

Ejemplo de retiro en tienda

 "shipment" : {
        "orderPickupLocation" : {
                     "id" : "60c10c1ae5e38617bc5f",
                     "code" : "TUni",
                     "name" : "Tienda Unicenter",
      }

deliveryDocumentsList [{

  • type
  • deliveryDocumentSerie
  • deliveryDocumentPosNumber
  • deliveryDocumentNumber
  • deliveryDocumentDate
  • amount
  • billFlag
  • cancelFlag
  • selectedToPay
  • period
  • subPeriod
  • businessDate
  • originalStore
  • originalWorkstationCode
  • originalTransactionNumber

} ]


lista
  • Lista de remitos facturados. unicamente disponible en transacción del tipo BillShipmentDocument
    • uso interno
    • Serie del remito
    • Centro emisor del remito
    • Número de comprobante del remito
    • Fecha del remito
    • Monto del remito
    • Uso interno
    • Uso interno
    • Uso interno
    • Periodo del remito
    • Subperiodo del remito
    • Fecha contable del remito
    • Tienda del remito
    • Terminal del remito
    • Número de transacción del remito
     del cliente (sólo disponible cuando por configuración del evento sea requerido)
  • Indica si el evento fue anulado


marginAsNumber

number

Identifica el margen de la transacción en importe

marginAsPercent

number

Identifica el margen de la transacción en porcentaje

fuelCreditProgramTransaction

boolean

Identifica si se trata de una venta flota

originalPeriodNumber

number

En caso de transacciones desfasadas, número del periodo original (si no es transacción desfasada, se envía en null)

originalSubPeriodNumber

number

En caso de transacciones desfasadas, número del subperiodo original (si no es transacción desfasada, se envía en null)

originalPeriodCode

number

En caso de transacciones desfasadas, código del periodo original (si no es transacción desfasada, se envía en null)

originalSubPeriodCode

number

En caso de transacciones desfasadas, código del subperiodo original (si no es transacción desfasada, se envía en null)

baseCurrencyCodestringcódigo de la moneda base
channelstringRefiere al código del canal de venta. Por defecto el canal es "Bridge" (se agregaron también al tipo de transacción "Return" a partir de v7.2 y luego en 7.5.3 en adelante)
orderstringNro de orden interno de Bridge (utilizado al generar un pedido por Bridge Omni) (se agregaron también al tipo de transacción "Return" a partir de v7.2 y luego en 7.5.3 en adelante)
externalOrderstringNro de orden de un sistema externo (utilizado al generarse un pedido en Bridge Omni)  (se agregaron también al tipo de transacción "Return" a partir de v7.2 y luego en 7.5.3 en adelante)

orderPackagesQty

numberCantidad de paquetes ingresados al finalizar de facturar un pedido (sólo si se encuentra configurado su solicitud)

orderOriginalExternalNumber

stringNúmero de pedido original en caso de ser un pedido derivado de la facturación parcial de Omni (a partir de 7.5.4 para facturación parcial de Omni. Debe encontrarse configurado para esta funcionalidad) 

orderPartialBillVersion

string

Número de versión sobre pedido original en caso de ser un pedido derivado de la facturación parcial de Omni (a partir de 7.5.4 para facturación parcial de Omni. Debe encontrarse configurado para esta funcionalidad) Esto representa el nro de pedido parcial que se generó a partir del original con cada surtido parcial

** Para el modelo de exportación DataLake, a continuación se detalla la tabla TransactionRetailItem
Items
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTimeDateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
sequenceNumberstringNúmero de secuencia de ingreso dentro de la operación, asignado por el punto de venta
internalCodestringCódigo del producto.  Debe ser un SKU existente en Bridge. Consultar catálogo de maestros.
descriptionstringDescripción del producto
barcodestringCódigo de barras del ítem (si fue ingresado por este código)

itemType

string

Tipo de ítem. Los tipos posibles son:

TipoDescripciónDetalle
NORMItems normales 
CONT

Envases. Es utilizado para las bebidas

ver debajo "Anexo items envases" 

CHRG

Recargos

utilizado para los recargos financieros asociados a planes de pago 

WRTYGarantías extendidas
FUELCombustible
TAETiempo de aireventa de minutos de celular
EXTRACASHItems de adelanto de efectivo cuando un pago tiene relacionado un adelanto de efectivo se compensa con un ítem por su valor de adelanto
GFCDTY GiftCardpara la venta de tarjetas GiftCard o su recarga
GRALVATGenérico para reintegro por tipo IVApara reintegros de IVA 
RNDRedondeover debajo "Anexo ítems redondeo" 
LUBRLubricantes 
ANTIAnticipoutilizado para cobrar anticipos en cuentas corrientes 

paymentOnAccount

  • "selectedToPay"
  • "accountNumber"
  • "accountDate"
  • "installment" 
  • "expirationDate" 
  • "latePaymentDays" 
  • "originalCapitalAmount" 
  • "originalInterestAmount" 
  • "originalTotalAmount" 
  • "pendingCapitalAmount"
  • "pendingInterestAmount"
  • "pendingTotalAmount"
  • "toPayLateInterestAmount"
  • "calculatedLatePaymentIntAmount" 
  • "toPayTotalAmount" 
  • "paidCapitalAmount"
  • "paidInterestAmount"
  • "paidLatePaymentInterestAmount" 
  • "paidTotalAmount"
  • "installmentExpired"
  • "partialPaymentAllowed"
  • "foreignCurrencyQuoteFactor" 
  • "deleteToLateInterest"
  • "installmentEdited" 
  • "identificationTypeId" 
  • "identificationType"
  • "identificationNumber" 
  • "customerName"
  • "trxNumber"
  • "storeCode"
  • "terminalCode"

            }, 


Detalle de las facturas de cuenta corriente que se están cobrando en una transacción de tipo "PaymentOnAccount"

  • Uso interno
  • Numero de Factura 
  • Fecha de factura (formato: 2022-05-31)
  • Uso interno
  • Uso interno
  • Uso interno
  • Monto de la factura
  • Uso interno todos los campos posteriores
  • Número de transacción, tienda, terminal de la factura original
merchandiseHierarchyGroupCodestringCódigo de grupo de la estructura jerárquica
merchandiseHierarchyGroupNamestringNombre del grupo de la estructura jerárquica
unitPricenumberPrecio unitario del producto
quantitynumber

Cantidad vendida

Cuando el ítem tiene unidad de medida es fraccionable, entonces la cantidad por defecto es 1

unitsnumber

Unidad de venta del código de barras (por defecto es 1).

Cuando la unidad de medida es fraccionable, se informa la magnitud (litros, kilos, gramos, etc) vendidos

unitOfMeasureCode

string

Código de unidad de medida del artículo

unitOfMeasureDecimals

number

Cantidad de decimales de la unidad de medida del artículo

unitOfMeasureDescription

string

Descripción de la unidad de medida. Ej: "Kilogramo", "Unidad"

extendedPricenumber

Precio total del producto (precio unitario x cantidad)

Precio total del producto con descuentos aplicados. Incluye impuestos.

Unidad de medida no es fraccionable (property packagePrice = true):

  • extendedPrice = UnitPrice x Quantity  – Descuentos del item

Unidad de medida no es fraccionable (property packagePrice = false):

  • extendedPrice = UnitPrice x Units x Quantity  – Descuentos del item

Unidad de medida fraccionable (nota: no se admite cantidad en un articulo fraccionable)

  • extendedPrice = UnitPrice x Units x Quantity  – Descuentos del item

Nota: el campo Units trae la cantidad de artículos del código de barras en un artículo no fraccionable y la magnitud en un artículo fraccionable

netAmountnumber

Importe final o neto del producto

Es igual a la base imponible para el cálculo del IVA (es igual al campo taxableAmount dentro del taxType = VAT dentro del array TaxDetail)

voidingboolean

voiding = true indica que la cantidad se resta de la transacción. Es un lineItem de anulación (ver ejemplo en anexo)

voidFlagboolean

voidFlag = true sólo cuando el artículo original está anulado por completo

returnedboolean

En true cuando el ítem se está devolviendo (si la transacción es una venta, false / si la transacción es una devolución, true / si la transacción es un cambio, true para el artículo que se devuelve, y false para el nuevo artículo que el cliente se lleva)

También está en true cuando se trata de un ítem de ExtraCash (itemType: EXTRACASH) o de Redondeo (itemType: RND) o de envases (itemType: CONT)

trainingModeFlagbooleanSe repite el mismo dato que la cabecera
suspendedFlagbooleanSe repite el mismo dato que la cabecera
cancelFlagbooleanSe repite el mismo dato que la cabecera
locationCodestringCódigo de almacén desde donde el producto sale
sellerCodestringCódigo del vendedor del ítem
promoDiscountAmountnumberDescuento otorgado por promociones
manualDiscountAmountnumberDescuentos manuales sobre el producto
prorratedTxDiscountnumberMonto de descuento a la transacción prorrateado para el item

ivaType {

id

code

description

percentage

disabled

}

object

ivaType: Tipo de iva

  • id
  • código del tipo de iva
  • descripción del iva
  • porcentaje
  • deshabilitado




taxDetail [{

taxType

typeCode

taxAuthority

taxableAmount

taxIncludedInTaxableAmountFlag

originalAmount

amount

taxablePercentage

unifiedFactor

magnitudeTax

foreignCurrencyInfo {
taxableAmount
amount

       "jurisdiction" : "BA", 

       "jurisdictionTaxType" : "IB",

       "stateJurisdiction" : "BSAS",
}

}]

lista

taxDetail: Detalle de impuestos (aplica a iva, percepciones de ingresos brutos IIBB o IVA o impuestos internos, lista)

  • taxType: tipo de impuesto (ej: VAT, IIBB o TAX)
    • VAT: corresponde a IVA
    • TAX: corresponde a impuestos internos
    • IIBB: corresponde a percepciones de Ingresos Brutos (sólo Argentina)
    • PERIVA: corresponde a percepciones de IVA (sólo Argentina)
    • TASA: corresponde a tasas municipales (sólo Argentina)
  • typeCode: Sale o return
  • taxAuthority: código del impuesto interno o del iva o de la regla impositiva
  • description: descripción del impuesto interno o del iva o de la regla impositiva
  • taxableAmount: monto neto gravado
  • taxIncludedInTaxableAmountFlag: si false NO corresponde a un impuesto de artículo (ejemplo percepción IIBB o IVA)
  • originalAmount: sólo para percepciones. Corresponde al monto del impuesto calculado por la regla impositiva
  • amount: monto del impuesto (en el caso de las percepciones puede ser igual al originalAmount o diferir si el cliente tiene una alícuota de percepción propia)
  • taxablePercentage; porcentaje del impuesto
  • unifiedFactor: sólo para percepciones. Corresponde al coeficiente unificado
  • magnitudeTax


  • foreignCurrencyInfo: información en moneda extranjera del detalle de impuestos del item (aplica si fue facturado en moneda extranjera)
    • taxableAmount: monto neto gravado en moneda extranjera
    • amount: monto del iva en moneda extranjera

En el caso de Argentina, también puede venir el desglose de percepciones que aplique sobre el item (como taxType: IIBB)

  • Se agrega en el caso de los impuestos del cliente (percepciones o municipales)
    • jurisdicción (código)
    • tipo de impuesto (tipo de impuesto)
    • provincia o ciudad de la jurisdicción (código de la jurisdicción)

"itemTicketStockInformationList": [{

"inventoryReservationCode": "R1387810541609070117ded4c435b0a36743",

"storeCode": "T1",

"locationCode": "DEP1",

"locationErpCode": "7391",

"revenueCenterCode": "RCD",

"itemInventoryStateCode": "OnSale",

"quantity": 1,

"serializedUnit": "000000000010000467",

"serialNumber": "000000000000000006",

"voidedFlag": false

                }

            ],

lista

itemTicketStockInformationList: Detalle de movimiento de stock del ítem (aplica a los ítems del tipo stockItem)

  • inventoryReservationCode: código de reserva (interno de Bridge)
  • storeCode: código de la tienda del depósito del item
  • locationCode: código del depósito donde sale el item
  • locationErpCode: código del depósito para el ERP
  • revenueCenterCode: centro de costo (default Bridge: RCD)
  • itemInventoryStateCode: código del estado del depósito (default: OnSale)
  • quantity: cantidad de unidades
  • serializedUnit: código único para el ítem en la tabla de items seriados
  • serialNumber: nro de serie del ítem
  • voidedFlag: si fue o no anulado el movimiento (boleano)

"foreignCurrencyInfo": {
"netAmount": 56.63,
"unitPrice": 89.09,
"manualAmount": 0,
"extendedPrice": 69.09
},

listaforeignCurrencyInfo: información en moneda extranjera del item (aplica si fue facturado en moneda extranjera)
  • netAmount: monto neto del ítem en moneda extranjera
  • unitPrice: precio neto del ítem en moneda extranjera
  • manualDiscountAmount: monto de descuento manual en moneda extranjera
  • extendedPrice: precio extendido del ítem en moneda extranjera
billTotalAmountnumberMonto total de la transacción
vatTotalnumberMonto del iva correspondiente al item
taxTotalnumberMonto de los impuestos internos que corresponden al item
perceptionTotalnumberMonto de percepciones que corresponden al item
giftCardNumberstringNro de tarjeta giftCard (vendida o a recargar)
giftCardBalancenumberSaldo de la Gift Card
giftCardRechargeAmountnumberMonto de la recarga
priceListId stringNro de lista de precios 

"warrantyProperties" : {
                "warrantedInsuranceAmount" : "3000",
                "warrantyPercentage" : 1,
                "warrantyPeriod" : "1",
                "warrantyBaseCost" : 100,
                "warrantyTransaction" : "24",
                "warrantyDescription" : "MAPFRE",
                "policyNumber" : "ZX009",
                "warrantyCode" : "WRTY2_CELU",
                "warrantyDate" : "26/07/2022",

                "operationTypeCode" : "WRT",

                "relatedLineItem" : 1

            },

object

Datos de las propiedades de una garantía extendida y el ítem al cual se relaciona de venderse asociado dentro de la misma operación de venta (v1.3)


"operationTypeCode" : "WRT", ------ indica el tipo de relación (garantía)

"relatedLineItem" : 1 -----------------indica el nro de secuencia de ítem al cual se encuentra relacionado (es decir, el item garantizado)

"attributes": [
                {
                    "_id": "63cadef2918597b6fd79bd2c",
                    "code": "COLOR",
                    "option": "ROJO"
                },
                {
                    "_id": "63cadef2918597b6fd79bd2d",
                    "code": "SIZE",
                    "option": "S"
                }
            ],
lista

Lista de atributos de un articulo 

Se informa el código y el valor u opción del atributo

exportCalendarPeriod

lista
Datos del calendario de período
"exportCalendarPeriod": { "_id": "646cb39999927dfb801e4835", "calendarLevelID": 1, "calendarID": 0, "store": "63a333ace418b69be4b96d56", "shiftID": 13, "calendarPeriodID": 13, "businessDay": "646cb39999927dfb801e4834", "startDateTime": "2023-05-23T09:37:45", "version": 0, "id": "646cb39999927dfb801e4835" },

exportCalendarSubPeriod

lista
Datos del calendario de subperiodo
"exportCalendarSubPeriod": { "_id": "646cb39999927dfb801e4836", "calendarLevelID": 0, "calendarID": 0, "store": "63a333ace418b69be4b96d56", "shiftID": 14, "calendarPeriodID": 14, "businessDay": "646cb39999927dfb801e4834", "startDateTime": "2023-05-23T09:37:45", "version": 0, "id": "646cb39999927dfb801e4836" }


voidedBy

lista

"voidedBy": [], (se agrega a partir de 7.5.5)

  • Lista de secuencias que anulan a el item informado (pudiendo ser parcial) 

En los casos en los cuales un item dentro de la transacción sea anulado por otra secuencia del mismo item, se listarán en esta lista

** Para el modelo de exportación DataLake, a continuación se detalla la tabla TransactionRetailPayment
Payments [ ] (Medios de Pago)
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTime:Date,DateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
tenderNamestringNombre del medio de pago

tenderType {

  • id
  • descriptor
  • disabled
  • code
  • codeName

}

lista


  • id del tender type
  • Descripción del medio de pago
  • Si está deshabilitado
  • Código del medio de pago
  • Código del medio de pago
amountnumberMonto del medio de pago
changenumberCambio (en caso de ser efectivo)
surchargenumberRecargo (para casos como tarjetas)
voidedbooleanSi fue anulado
voidingbooleanSi fue anulado
netAmountnumberMonto neto del pago
trainingModeFlagbooleanSe repite el mismo dato que la cabecera
suspendedFlagbooleanSe repite el mismo dato que la cabecera
cancelFlagbooleanSe repite el mismo dato que la cabecera
fiscalPosNumberstringNumero de centro emisor
billTypestringTipo de comprobante, las opciones son FC A, FC B, NC A, NC B
serieOfficialBillstringA o B de acuerdo a si es un comprobante a responsable inscripto o no
billNumberstringNumero fe factura electrónica
foreignCurrencyQuotenumber
foreignAmountnumberMonto en moneda extranjera
foreignChangenumberCambio de la moneda extranjera
currencyISOCodestringCódigo de la moneda
cardbooleanCódigo de tarjeta
externalIdstring
vtolStorestringCódigo de tienda de VTOL
vtolTerminalstringCódigo de terminal de VTOL
cardNumberstringNúmero de tarjeta enmascarado
cardTypestringTipo de tarjeta
lotNumberstringNúmero de lote (cuando el pago fue validado online) 
authorizationCode
authorizationMode
string

Código de autorización (cuando el pago fue validado online) 

Modo de autorización (cuando el pago fue validado online) 

referenceNumberstringNúmero de referencia / cupón  (cuando el pago fue validado online) 
providerstringAutorizador
planDescriptorstringPlan de pagos
sellerNamestringNombre del vendedor/operador 
cardAuthorizationCodestringCódigo de autorización de la tarjeta (cuando el pago ingresado fue en modo offline)
cardCouponNumberstringNúmero de cupón de la tarjeta (cuando el pago ingresado fue en modo offline)
cardLotNumberstringNúmero de lote de la tarjeta (cuando el pago ingresado fue en modo offline)
installmentsstringCantidad de cuotas
cardReferenceNumberstringCódigo de referencia de la tarjeta o nro. de cupón (cuando el pago ingresado fue en modo offline)

"foreignCurrencyInfo": {
"amount": 69.09,
"netAmount": 69.09,
"surcharge": 0,
"change": 0,
"foreignCurrencyQuote": 43.561
},

listaforeignCurrencyInfo: información en moneda extranjera del pago (aplica si es un pago en moneda extranjera)
  • amount: monto del pago en moneda extranjera
  • netAmount: monto neto del pago en moneda extranjera
  • surcharge: recargo en moneda extranjera
  • change: cambio o vuelto en moneda extranjera
  • foreignCurrencyQuote: cotización de la moneda extranjera

MEDIO DE PAGO TIPO CASH

additionalData {

  • returnFlag
  • controlTenderExternalAccount
  • isExtraCash

  • extraCashAmount

  • extraCashItemSeqNumber
  • customerDocument
  • controlTenderExternalAccountTill
    }
lista



  • Sólo ExtraCash: Indica si el pago sale del cajón
  • Cuenta externa
  • Sólo ExtraCash: Indica si el payment corresonde a Extra Cash
  • Sólo ExtraCash: En caso que corresponda a Extra Cash, indica el monto
  • Sólo ExtraCash: se puede utilizar el campo sequenceNumber para asociar el item Extracash
  • Identificador del cliente (no mandatorio)
  • Uso interno
  • Uso interno

MEDIO DE PAGO TIPO CARD

additionalData {

  • ad_planPrinterDescriptor
  • extraCashAmount

  • extraCashItemSeqNumber

  • sellerName
  • controlTenderExternalAccount
  • installments
  • ticketCurrency
  • authorization_code → ticket
  • customerDocument
  • inputType
  • planId
  • cardtype
  • planSurcharge
  • extraCashPayment
  • authorization_type
  • controlTenderExternalAccountTill
  • paymentVerificationMethod
  • currencyCode
  • storeCode
    }
lista
  • Descripción del plan
  • Sólo ExtraCash: En caso que corresponda a Extra Cash, indica el monto
  • Sólo ExtraCash: se puede utilizar el campo sequenceNumber para asociar el item Extracash
  • Nombre del vendedor
  • Cuenta externa
  • Cantidad de cuotas
  • Moneda


  • Número de voucher (máximo 4 dígitos)


  • Identificador del cliente
  • Modo de ingreso de la tarjeta (ejemplo "Keyed")
  • Código del plan
  • Tipo de tarjeta (Credit, Debit)
  • Interés
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Código de la tienda

MEDIO DE PAGO TIPO WALLET (billetera)

additionalData {

  • walletPaymentId
  • installments
  • authorization_code {
      • terminal
      • trxId

      • vtolServerId
      • datetime
      • ticket
      • state
      • authorizationCode
      • node
      • store
      • lotNumber
      • amount
      • responseAuth
      • originalTrxDate
      • trxType
      • accountNumber
      • currentSessionId
      • configurationVersion
      • walletPaymentId
      • amountRefunded
      • paymentStatus
      • paymentStatusDetail
      • cardType
      • responseMessage
      • walletPaymentOptionId

      • walletOriginalAmount
      • emv
      • pending
      • commited
      • rollbacked
      • uniqueTrxId }

  • customerDocument
  • planId
  • planSurcharge
  • authorization_type
  • account
    }
lista



  • Identificador del número de pago informado por el Autorizador en el campo 271 de la respuesta de la operación SaleWallet.
  • Cuotas


  • Código de terminal de VTOL
  • Número secuencial asignado por VTOL a nivel de tienda - terminal
  • Uso interno
  • Fecha y hora
  • Número de cupón
  • Uso interno
  • Código de autorización
  • Uso inteno
  • Código de tienda de VTOL
  • Número de lote
  • Monto
  • Uso interno
  • Uso interno
  • Uso interno
  • Número de tarjeta
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Los primeros dígitos (antes del _) corresponden al ProviderPOSCode. Luego se incluye el código de plan autoasignado por Bridge. Ejemplo: "walletPaymentOptionId": "VI_1"
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno
  • Uso interno


  • Identificador del cliente
  • Código del plan
  • Interés
  • Uso interno
  • Uso interno
** Para el modelo de exportación DataLake, a continuación se detalla la tabla TransactionRetailDiscount
Discounts [ ] (Descuentos y promociones al item)
sequenceNumber

number

string

Secuencia del item al que aplica
barcodestringbarcode del item sobre el que aplica
trxTypestringSe repite el mismo dato que la cabecera
trxNumbernumberSe repite el mismo dato que la cabecera
storeNamestringSe repite el mismo dato que la cabecera
storeCodestringSe repite el mismo dato que la cabecera
terminalCodestringSe repite el mismo dato que la cabecera
periodNumbernumberSe repite el mismo dato que la cabecera
sbPeriodNumbernumberSe repite el mismo dato que la cabecera
beginDateTimeDateSe repite el mismo dato que la cabecera
beginDateTimeAsIntnumberSe repite el mismo dato que la cabecera
beginDateTimeHournumberSe repite el mismo dato que la cabecera
operatorCodestringSe repite el mismo dato que la cabecera
operatorNamestringSe repite el mismo dato que la cabecera
internalCodestringCódigo interno del producto sobre el que aplica el descuento manual o por promoción
descriptionstringDescripción del producto
promoCodestringCódigo interno de la promoción – solo si es por promoción (no para descuento manual)
promoDescriptionstringDescripción de la promoción – solo si es por promoción (no para descuento manual)
benefitClassstringClase de beneficio (monetary: monetario)
benefitValuenumberValor del beneficio, por ejemplo, el porcentaje de descuento
benefitPercentnumberPorcentaje del descuento
previousPricenumberPrecio previo al descuento
cancelFlagbooleanSe repite el mismo dato que la cabecera
messagestringMensaje definido en la promoción – solo si es por promoción (no para descuento manual)
reasonstringCódigo del motivo del descuento
typestringtipo de descuento o beneficio
actionstringsi suma o resta (SB= resta, AD=suma)
promotionNumberstringnro de promoción – solo si es por promoción (no para descuento manual)
benefitNumberstringnro de beneficio – solo si es por promoción (no para descuento manual)

"foreignCurrencyInfo": {
"benefitValue": 20,
"previousPrice": 89.09
},

listaforeignCurrencyInfo: información en moneda extranjera del descuento (aplica si fue una factura en moneda extranjera)
  • benefitValue: monto del beneficio en moneda extranjera
  • previousPrice: precio previo en moneda extranjera

Particularidades de cuenta corriente

deliveryDocumentsList [{

  • type
  • deliveryDocumentSerie
  • deliveryDocumentPosNumber
  • deliveryDocumentNumber
  • deliveryDocumentDate
  • amount
  • billFlag
  • cancelFlag
  • selectedToPay
  • period
  • subPeriod
  • businessDate
  • originalStore
  • originalWorkstationCode
  • originalTransactionNumber

} ]

lista

Lista de remitos facturados. unicamente disponible en transacción del tipo BillShipmentDocument

  • uso interno
  • Serie del remito
  • Centro emisor del remito
  • Número de comprobante del remito
  • Fecha del remito
  • Monto del remito
  • Uso interno
  • Uso interno
  • Uso interno
  • Periodo del remito
  • Subperiodo del remito
  • Fecha contable del remito
  • Tienda del remito
  • Terminal del remito
  • Número de transacción del remito

ANEXO items envase (itemType: CONT) 

EscenarioTicketJSON de exportación

Venta de una cerveza con su envase 

  • Se vende la cerveza Andes ($370.-)
  • Automáticamente se vende su envase  ($100.-) Este suma a la venta
  • El total de la venta es $470.-

"billTotalAmount": 470,

 "items": [

"internalCode": "CERV", – venta de la cerveza
            "description": "Cerveza Andes Rubia Ret 1lt",
            "itemType": "NORM",
            "barcode": "CERV",
            "sequenceNumber": 1,

   "returned": false,

--------------------

 "internalCode": "ENVASE",  --vendido automáticamente
            "description": "Envase de cerveza",
            "itemType": "CONT",
            "barcode": "ENVASE",
            "sequenceNumber": 2,

"returned": false,

Venta_Cerveza_ConEnvase.json

Venta de una cerveza con su envase

y su devolución

  • Se vende la cerveza Andes ($370.-)
  • Automáticamente se vende su envase  ($100.-) Este suma a la venta
  • El cliente devuelve el envase que trajo (- $100.-) Este resta a la venta 
  • El total de la venta es $370.-


"billTotalAmount": 370, 

 "items": [

"internalCode": "CERV", – venta de la cerveza
            "description": "Cerveza Andes Rubia Ret 1lt",
            "itemType": "NORM",
            "barcode": "CERV",
            "sequenceNumber": 1,

"returned": false,

-------------

 "internalCode": "ENVASE", --vendido automáticamente
            "description": "Envase de cerveza",
            "itemType": "CONT",
            "barcode": "ENVASE",
            "sequenceNumber": 2,

  "returned": false,

-----------------

 "internalCode": "ENVASE", – devuelto por el cliente 
            "description": "Envase de cerveza",
            "itemType": "CONT",
            "barcode": "ENVASE",
            "sequenceNumber": 3,

 "returned": true, — el item devuelto queda dentro de una venta con este flag = true

Venta_Cerveza_ConEnvaseYDevolución.json

ANEXO items redondeo (itemType: RND) 

EscenarioTicketJSON de exportación

Venta con redondeo sobre el pago a favor del cliente 


El método de redondeo es a favor del cliente y

con redondeo a unidad mínima de $1.-

  • Se vende un item art 26081 $52.50
  • Se redondea el pago a $52.0 (a favor del cliente) 

"billTotalAmount": 52,

"items": [

"internalCode": "26081",
"description": "26081",
"itemType": "NORM",
"barcode": "1234577881",
"sequenceNumber": 1,

"extendedPrice": 52.5,

"returned": false,

-----------

"internalCode": "RNDIVA21",
"description": "Redondeo",
"itemType": "RND",
"barcode": "RNDIVA21",
"sequenceNumber": 2,

"extendedPrice": 0.5,

"returned": true, — redondeo a favor del cliente que resta del total del ticket

VentaConRedondeo.json

ANEXO items anulados parcial o totalmente


TicketJSON de exportaciónJSON transaction
Anulación parcial

Se venden 10 unidades

"description" : "AR HEL BARRITA AGUILA 49G",

"quantity" : 10,

"voiding" : false,

"voidFlag" : false,

"voidedQuantity" : 3,


Se anulan 3 (parcial)

"description" : "AR HEL BARRITA AGUILA 49G",

"quantity" : 3,

"voidFlag" : false,

"voiding" : true,


venta_anulación parcial.json
Anulación total

Se venden 10 unidades

"description" : "AR HEL BARRITA AGUILA 49G",

"quantity" : 10,

"voiding" : false,

"voidedQuantity" : 10,

"voidFlag" : true,


Se anulan las 10 (total)

"description" : "AR HEL BARRITA AGUILA 49G",

"quantity" : 10,

"voiding" : true,

"voidedQuantity" : 0,

"voidFlag" : false,

Anulación_total items.json
  • Sem rótulos