BRIDGE API - Rabbit - Informa factura emitida a partir de una orden
Cada canal, posee asignada una cola RabbitMQ, con el nombre "canal_transaction", ejemplo: "e3_transaction".
Se postearán los documentos fiscales emitidos por venta o devolución de un pedido (factura o nota de crédito)
Entidad a habilitar
Desde el menú de Bridge Manager Central se debe habilitar la entidad desde Configuración/Colas de exportación
Cola en el canal
Desde Bridge Manager Central/Administración/Omni/Canales, se debe habilitar la cola de transacciones
Acción a definir en el workflow del canal
Para que se exporte la transacción se debe agregar la acción al paso del workflow del canal deseado.
La acción es: "Envío de la factura a la cola" (exportOrderTransaction)
"orderWorkflowActions" : [
ObjectId("5fe9de898d93b01cab6918cd"),
ObjectId("6018594df8dfab40a55dc590")
],
Monitor de exportación
JSON ejemplo
Allí, recibirá, el siguiente documento JSON:
{ "info": "transaction", "dateTime": "10/07/2020 08:15:34", "internalNumber": "00000000001", "storeCode": "1", "terminalCode": "30", "trxNumber": 51, "trxType": "Sale", "partyCode": "codigo identificador del cliente", "userName": "gmorales", "currencyCode": "$", "currencyDescription": "Peso Argentino", "promoMapVersion": 3, "tillType": "Operator", "fiscalPosNewGeneration": false, "fiscalPosNumber": "0030", "serieOfficialBill": "A", "billType": "FC A", "docNumber": "00123456", "total": 207801.31, "discountsItemsTotal": 0, "discountsTransactionTotal": 0, "paymentsTotal": 207802.0, "subtotal": 188476.0, "ivaPerception": 0, "municipalPerceptions": 0, "ivaTotal": 29367.88, "totalPerceptions": 19325.31, "ibPerception": 19325.31, "itemsQuantity": 2, "fiscalCAENumber": "30267330132639", "fiscalCAEDate": "2020-07-15T00:00:00.000Z", "fiscalInvoiceType": 1, "ticketUrl": "https://www.fiscalflow.com.ar/public/invoice/bmFwc2VfMV8zMF8xXzUx", "companyCode": "Napse", "items": [ { "internalCode": "SamA70", "description": "Samsung A70", "price": 42567, "quantity": 1, "extendedPrice": 42567, "discountTotal": 0, "discountPromoTotal": 0, "percentIva": 10.5, "priceIvaAmount": 4044.83, "totalInternalTax": 0, "totalPerceptions": 4571.615, "unitOfMeasureCode": "u", "itemSerialNumber": "55000010", "importDocNumber": "SM00001", "taxDetail": [ { "taxType": "VAT", "taxableAmount": 38522.17, "taxAuthority": "3", "amount": 4044.83, "taxablePercentage": 10.5 }, { "taxType": "IIBB", "taxableAmount": 38522.17, "taxAuthority": "BA.G.CM", "amount": 3081.77, "taxablePercentage": 8 }, { "taxType": "IIBB", "taxableAmount": 38522.17, "taxAuthority": "CABA.G.CM", "amount": 3081.77, "taxablePercentage": 8 } ] } ] "payments": [ { "tenderCode": "Peso", "tenderDescriptor": "Pesos" "amount": 10780, "surcharge": 0, "change": 0.69 }, { "tenderCode": "VI", "tenderDescriptor": "VISA ONLINE", "amount": 10000, "surcharge": 0, "change": 0 } ] }
Los campos son auto descriptivos, en inglés.
Descripción de los campos:
Campo | Tipo | Descripción | Ejemplos |
---|---|---|---|
info | String | Operación informada | "transaction" |
dateTime | Date | La fecha de la transacción BRIDGE Formato: dd/mm/aaaa HH:mm:ss | "10/07/2020 08:15:34", |
internalNumber | String | Código de la transacción originante | "00000000001" |
storeCode | String | El código de tienda BRIDGE | "1" |
terminalCode | String | El código de terminal BRIDGE | "30" |
trxNumber | Number | El número de transacción BRIDGE | 51 |
trxType | String | Tipo de operación | Valores posibles: "Sale", "Return", "Exchange" |
partyCode | String | Código del cliente | 024314537 "codigo identificador del cliente" |
userName | String | El nombre del operador BRIDGE | "gmorales" |
currencyCode | String | Moneda | $ |
currencyDescription | String | Descripción de la moneda | "Peso Argentino" |
promoMapVersion | String | Versión del mapa de promociones aplicado | 3 |
tillType | String | Tipo de cuenta contable al que acumula la venta | "Operator" |
fiscalPosNewGeneration | Boolean | Indicador si se genera con impresoras fiscales de 2da generación | false |
fiscalPosNumber | String | Nro de centro emisor o punto de venta | "0030" |
serieOfficialBill | String | Letra del comprobante | "A" |
billType | String | Tipo de comprobante. Valores posibles:
NC A o NC B (nota de crédito) | "FC A" |
docNumber | String | Nro del comprobante | 00123456 |
total | Number | Monto total del comprobante | 207801.31 |
discountsItemsTotal | Number | Importe total de descuentos a nivel item | 0 |
discountsTransactionTotal | Number | Importe total de descuentos a nivel transacción | 0 |
paymentsTotal | Number | Monto total de los pagos | 207802.0 |
subtotal | Number | Monto del subtotal de la transacción restando descuentos | 188476.0, |
ivaPerception | Number | Monto de percepciones de iva | 0 |
municipalPerceptions | Number | Monto de tasas municipales | 0 |
ivaTotal | Number | Monto total de iva | 29367.88 |
totalPerceptions | Number | Monto total de percepciones | 19325.31 |
ibPerception | Number | Monto de percepciones de Ingresos Brutos | 19325.31 |
itemsQuantity | Number | Cantidad de unidades de los items vendidos en la operación | 2 |
fiscalCAENumber | String | Nro de autorización fiscal para factura electrónica: CAE o CAEA | "30267330132639", |
fiscalCAEDate | Date | Fecha de vencimiento de CAE | "2020-07-15T00:00:00.000Z", |
fiscalInvoiceType | Integer | Tipo de comprobante fiscal (para AFIP) 1: Factura A 3: Nota de Crédito A 6: Factura B 8: Nota de Crédito B | 1 |
ticketUrl | String | URL de la factura electrónica | "https://www.fiscalflow.com.ar/public/invoice/bmFwc2VfMV8zMF8xXzUx" NOTA: esto solo aplica para Argentina con Fiscal Flow |
ticketPdfUrl | String | URL del comprobante pdf de la factura electrónica | "https://www.fiscalflow.com.ar/public/invoice/bmFwc2 NOTA: esto solo aplica para Argentina con Fiscal Flow (y solo si se encuentra definida la acción de consulta del comprobante en el workflow del pedido facturado) |
companyCode | String | Código de la compañía | Napse |
properties { } | Datos de la facturación del pedido recibidos por Uruware (Uruguay) | "properties": { .............. "CaeId": "90220001010" NOTA: solo para implementación de Uruware en Uruguay (a partir de v7.5.4) | |
items (Detalle de la transacción: artículos vendidos). | |||
internalItemCode | String | SKU del producto | "SamA70", |
description | String | Descripción del producto | "Samsung A70" |
price | Number | Precio unitario | 42567 |
quantity | Number | Cantidad | 1 |
extendedPrice | Number | Precio extendido (precio unitario por cantidad menos los descuentos) | 42567 |
discountTotal | Number | Monto total de descuentos manuales | 0 |
discountPromoTotal | Number | Monto total de descuentos por promoción | 0 |
percentIva | Number | Tipo de iva | 10.5 |
priceIvaAmount | Number | Monto del iva | 4044.83 |
totalInternalTax | Number | Monto de impuestos internos | 0 |
totalPerceptions | Number | Monto total de percepciones | 4571.615 |
unitOfMeasureCode | String | Unidad de medida: kg=kilo, u=unidad, g=gramo m=metro cm=centimetro l=litro | "u" |
itemSerialNumber | String | Nro de serie el producto | "55000010", |
importDocNumber | String | Nro de lote o despacho de aduana | "SM00001" |
taxDetail (impuestos del item) | |||
taxType | String | Tipo de impuesto: VAT: iva IIBB: percepción de Ingresos Brutos | "VAT" |
taxableAmount | Number | Monto gravado | 38522.17 |
taxAuthority | String | Regla impositiva | "3" |
amount | Number | Monto del impuesto | 4044.83 |
taxablePercentage | Number | Porcentaje del iva o percepción | 10.5 |
payments (pagos asociados a la transacción) | |||
tenderCode | String | Código del medio de pago | "Peso" |
tenderDescriptor | String | Descripción del medio de pago | "Pesos" |
amount | Number | Monto del pago | 10780 |
surcharge | Number | Monto de recargo | 0 |
change | Number | Monto del vuelto o cambio | 0.69 |
3 Comentários
Usuário desconhecido (matiasv)
Martin Malievac es correcto que solo contemplemos FE para estos casos? vale la pena contemplar que un pedido se abastezca en una sucursal física empleando un controlador 2G? es raro, pero si se vende con pickup de una sucursal que no tiene FE puede suceder me parece.
Usuário desconhecido (martin.malievac)
Si, yo lo pensé, pero como esta facturación en diferido, interpreté que se haría con FE.
Usuário desconhecido (matiasv)
Me preocupa que si un local está en 2G por temas de conectividad no va a poder facturar pickups.