BRIDGE - Documentación de TLOG

Registrar Transacción

BridgePOS
Analisis y Documentacion

Revisión 5.1


REVISIONES

Fecha

Versión

Descripción

Autor

22/10/2009

1.0

Creación del documento

VC

23/10/2009

1.1

Modificaciones Generales

VC

11/11/2009

1.2

Modificaciones Generales

VC

12/04/2010

1.3

Actualización con registro de Sign On, Sign Off.

AA

26/09/2013

1.4

Actualización con agregado de datos a registrar para un pago con tarjeta bancaria

AA

18/10/2013

1.5

Actualización con agregado:

  • datos de transacción original en una devolución
  • Cierre Z

AA

04/12/2013

1.6

Se agrega registro de datos fiscales (centro emisor, cierre Z actual, nro. de serie de impresora fiscal)

AA

26/12/2013

1.7

Se agrega el cierre de período para el POS.

AA

07/01/2014

1.8

Se agrega nro de cuenta y nro de doc para un pago

AA

15/01/2014

1.9

Se agrega:

  • Autorización del supervisor
  • Datos del cliente

AA

22/01/2014

2.0

Se actualizan datos del cliente como LineItem y del pago (incluyendo recargo)

AA

11/03/2014

2.1

CC:

  • En SignOff, se agrega Tiempo de Operador de una Terminal
  • En venta se agrega registros de tiempos del POS.
  • Inicio de período de terminal

    AA:
  • Se agregan nuevos campos requeridos para informar preventas y ventas a ERP a nivel transacción en la venta y a nivel ítem

CC/AA

13/03/2014

2.2

Se agrega Transacción de Preventa

CC

26/03/2014

2.3

Se agrega tratamiento del TLOG para garantías extendidas

CC

03/04/2014

2.4

Se agrega a customer detalle de Cliente Persona física y persona empresa.
Modificacion Detalle: Descuento a nivel transacción ( Discount)

CC

16/04/2014

2.5

Se agregan datos de compra original en la devolución

AA

24/04/2014

2.5.1

  • Se eliminan datos de la devolución
  • Se agrega datos del cliente y al cierre Z

AA

06/05/2014

2.6

-Se agrega motivo de devolución, descuento y cancelación

CC

13/05/2014

2.7

Se agrega detalle sobre exención de impuesto por taxCertificate

AA

14/05/2014

2.71

Se agrega flag para alta de comprobantes de contingencia dentro de retailTransaction

CC

16/05/2014

2.8

Se agregan campos de totales

AA

21/05/2014

2.9

Se agrega campos de reserva de stock a nivel ítem y paymentCondition para pagos

AA

28/05/2014

3.0

Se agregan campos de Nota de crédito utilizadas como medio de pago

AA

02/07/2014

3.1

Se agrega el campo Total a una TenderControlTransaction (pickup, loan y tenderCount)

AA

14/07/2014

3.2

Se agrega registro de promociones y beneficios aplicados

AA

25/07/2014

3.3

Se agrega el registro de comprobantes cancelados dentro de una venta/devolución

AA

11/08/2014

3.4

Se agrega el alta de cliente dentro de una transacción en curso y fuera de transacción.

AA

28/08/2014

3.5

Se agregan datos a pago con tarjeta bancaria

AA

09/09/2014

3.6

Se agregan datos para devolución de factura de compra original

AA

17/09/2014

3.7

Se ajustan datos para devolución

AA

09/12/2014

3.8

Se agrega registro para operaciones con monedero electrónico/giftCard

AA

04/02/2015

3.9

Se ajusta registro de comprobantes cancelados separando la información registrada

AA

12/02/2015

4.0

Se agrega Recarga monedero por promoción

AA

27/03/2015

4.1

Se agrega el typeCode dentro de RetailTransaction

AA

25/04/2015

4.2

Se agregan datos de la reserva en LineItem de venta, datos de registro de un pago con cheque y totales.

AA

07/05/2015

4.3

Se agregan las transacciones del tipo InventoryControlTransaction (orden de compra, transferencias, devoluciones a proveedor, recepciones)

AA

23/07/2015

4.4

Se ajustan algunos comentarios de la tabla OrderDocument y ReceiveInventory.
Se ajustan términos utilizados para el registro de datos de inventario y reserva

AA

05/08/2016

4.5

Se eliminan referencias a los Tlogs del tipo inventory control
Se actualiza ejemplo de new customer

AA

17/08/2016

4.6

Se agregan tags a la sección Transacción de Venta/Devolución, Detalle: Venta de un producto (Sale), Detalle: Cliente (Customer)
Se hacen modificaciones sobre la sección Detalle: Devolución de un producto (Return), Detalle: Impuestos (Tax), Detalle: medio de pago, Detalle: pago con tarjeta
Se agrega la sección Transacción original de presupuestos

MLB

17/07/2017

4.7

Se ajusta formato del doc

AA

08/09/2017

4.8

Se actualiza con datos agregados en v4.1 (en rojo)

  • Fin e inicio de período en BM
  • Vuelto en moneda extranjera y código de moneda
  • Ajustes en campos de pago con NC y prespuestos
  • Loyalty (redención de cupón. Cupon otorgado)

AA

13/09/2017

4.9

Se agregan detalles de TLOG de loyalty

AA

14/09/2017

5.0

Se agrega creación, pago y devolución de pago de apartados

AA

14/09/2017

5.1

Se agrega detalle a creación de apartado

AA


CONTENIDO



Analisis y Documentacion de TLOG


Registrar Transacción


Descripción breve


En este documento se describe lo siguiente:


  • la interfase Standard IXRETAIL




Objetivo


El fin de este análisis es poder documentar cómo se debe reflejar cada concepto que se agrega a una transacción y verificar que todo se esté registrando correctamente.


Alcance


Este documento detalla la forma de grabar la información de cada transacción, durante la regla de Negocio "Registrar Transacción" que es parte del caso de uso "Vender en POS" y de otros casos de uso que requieren registrar el detalle de la transacción realizada.
La regla de Negocio "Registrar Transacción" es responsable de generar un registro conteniendo el detalle de la transacción en curso y grabarlo en algún repositorio como por ejemplo, un archivo o base de datos. Los mecanismos de extensión de este componente, deben permitir implementar distintos métodos y formatos para hacer este registro, de modo de permitir integrar el POS con el resto de las aplicaciones de cada cliente. Para este caso, se adopta como base el esquema XML definido por ARTS dentro de la iniciativa ARTS XML (IXRETAIL: Estándar de mensajería con formato XML orientado a Retailers), específicamente el esquema denominado POSLog. Estos esquemas se pueden extender para cubrir necesidades propias de un cliente o del segmento de industria. Se trabaja sobre la versión 2.2 de mensajes de POSLog que está en etapa de revisión y próxima a ser publicada.


Documentación asociada o de referencia




  • ARTS ( Association for Retail Technology Standadars ) www.nrf-arts.com
    • Especificación POSLog 2.2



Esquema POSLog


Especificamos el formato XML básico a utilizar, en base al esquema POSLog de IXRETAIL, teniendo en cuenta solo los elementos requeridos.


Transacción de Venta/Devolución



<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>145</RetailStoreID>
<WorkstationID>5</WorkstationID>
<TillID>4</TillID>
<TillType>Workstation</TillType>
<SequenceNumber>99</SequenceNumber>
<BusinessDayDate>2006-12-05</BusinessDayDate>
<Period>3</Period>
<Subperiod>4</Subperiod>
<BeginDateTime>2006-12-05 09:56:17</BeginDateTime>
<EndDateTime>2006-12-05 09:56:30</EndDateTime>
<OperatorID>105</OperatorID>
<OriginalTransaction></OriginalTransaction>
<RetailTransaction Version="2.2">
<TypeCode>Sale</TypeCode>
<SubTypeCode>Venta Regular</SubTypeCode>
<TypeID>1</TypeID>
<OriginalSequenceNumber/>
<OriginalWorstationId/>
<OriginalRetailStoreID/>
<OriginalTransactionDate>2016-08-12 11:00:32</OriginalTransactionDate>
<OriginalBillType/>
<OriginalSerieOfficialBill/>
<OriginalFiscalPOSNumber/>
<OriginalBillNumber/>
<CustomerOrderIdentification>
<WorkstationId>4</WorkstationId>
<SequenceNumber>22</SequenceNumber>
<RetailStoreID>1</RetailStoreID>
<Date>2016-08-12 24:00:00</Date>
<InternalOrderNumber>0001000001000200</InternalOrderNumber>
</CustomerOrderIdentification>
<OfficialBill>
<BillType>TF</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0020</FiscalPOSNumber>
<BillNumber>00023212</BillNumber>
<AmountOfBill>1123.55</AmountOfBill>
</OfficialBill>
<CancelledOfficialBill>
<BillType>TK</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0001</FiscalPOSNumber>
<BillNumber>00398210</BillNumber>
</CancelledOfficialBill>
<ReturnReasonCode>PM</ReasonCode>
<CancelReasonCode>PM</ReasonCode>
<CustomerCode>9999</CustomerCode>
<POSEODSequenceNumber/>
<FiscalControllerNumber/>
<FiscalPOSNumber>0004</FiscalPOSNumber>
<CashdrawerOpeningRequested>false</CashdrawerOpeningRequested>
<Weight>544.00</Weight>
<Amount>832.59</Amount>
<Channel>2</Channel>
<UniqueTxNumber/>
<Packages>5</Packages>
<Profit>29.32</Profit>
<SalesPersonID/>
<LineItem>
<SequenceNumber>1</SequenceNumber>
detalle 1
</LineItem>
<LineItem>
<SequenceNumber>2</SequenceNumber>
detalle 2
</LineItem>
<LineItem>
<SequenceNumber>3</SequenceNumber>
detalle 3
</LineItem>
. . .
<Total>1123.75<Total>
<RingElapsedTime>00.30</RingElapsedTime>
<TenderElapsedTime>00.30</TenderElapsedTime>
<LockElapsedTime>00.30</LockElapsedTime>
</RetailTransaction>
</Transaction>
</POSLog>


Elemento

  • Atributos

Descripción

POSLog

<PosLog xmlns:lxslt="http://xml.apache.org/xslt">

Informa que es un registro del Transaccional

  • Requerido
  • Repetición = 1 por registro
  • Tipo de dato: n/a

Transaction

<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">

Informa que se está registrando una transacción

  • Requerido
  • Repetición = 1 por elemento POSLog
  • Tipo de dato: n/a


    CancelFlag
    Indica que esta transacción fue cancelada
  • Requerido
  • Tipo de dato: booleano


    TrainingModeFlag
    Indica que esta transacción fue realizada en modo entrenamiento
  • Requerido
  • Tipo de dato: booleano
  • Default="false"


    SuspendedFlag="false"
    Indica que esta transacción fue suspendida
  • Requerido
  • Tipo de dato: booleano


    VoidedFlag="false"
    Indica que esta transacción fue anulada
  • Requerido
  • Tipo de dato: booleano
  • Default="false"


    OfflineFlag="false"
    Indica que esta transacción es un comprobante offline
  • Requerido
  • Tipo de dato: booleano
  • Default="false"


    ContingencyFlag
    Indica que esta transacción es un comprobante de contingencia
  • Requerido
  • Tipo de dato: booleano
  • Default="false"

RetailStoreID

<RetailStoreID>100</RetailStoreID>

Informa la identificación del local

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

WorkstationID

<WorkstationID>1</WorkstationID>

informa la identificación de la Terminal

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

TillID

<TillID>4</TillID>

Informa la cuenta contable en la que se acumulará la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

TillType

<TillType>Operator</TillType>

Informa el tipo de contabilidad de la tienda

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Valores posibles: Workstation y Operator

SequenceNumber

<SequenceNumber>201</SequenceNumber>

informa el número de transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BusinessDayDate

<BusinessDayDate>2017-09-07</BusinessDayDate>

informa la fecha contable en la cual se registra esta transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha (aaaa-mm-dd)

Period

<Period>11</Period>

Informa el período en que se está realizando la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

Subperiod

<Subperiod>12</Subperiod>

Informa el subperíodo en que se está realizando la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BeginDateTime

<BeginDateTime>2017-09-08 13:06:03</BeginDateTime>

informa la fecha y hora de inicio en que se realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

EndDateTime

<EndDateTime>2017-09-08 13:06:11</EndDateTime>

informa la fecha y hora de finalización de la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

OperatorID

<OperatorID>MariaL</OperatorID>

informa la identificación del operador que realizó la transacción (campo name de RS_USER)

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

OriginalTransaction

<OriginalTransaction>H4sIAAAAAAAAAO1dWXPbSJJ+169g

A==</OriginalTransaction>

Incluye la transacción serializada

RetailTransaction

<RetailTransaction Version="2.2">





Informa que la transacción es de Venta / Devolución o Cambio

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Version
    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

TypeCode

<TypeCode>Sale</TypeCode>

Informa el tipo de transacción

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres (ej: Sale, Return)

Subtype

<SubTypeCode>Venta Regular</SubTypeCode>

Subtipo de transacción

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres (ej: Venta regular, Devolución venta regular, Budget, etc.)
    Para el listado de valores posibles ver Anexo tipo de transacciones

TypeID

<TypeID>1</TypeID>

ID del tipo de transacción
Requerido

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: int (ej: 1,2,3,4. Estos valores corresponden al tipo RetailTransaction, ControlTransaction,TenderControlTransaction, UpdateCustomerOrder)

OriginalSequenceNumber

<OriginalSequenceNumber>201</OriginalSequenceNumber>
<OriginalWorstationId>1</OriginalWorstationId>
<OriginalRetailStoreID>100</OriginalRetailStoreID>
<OriginalTransactionDate>2017-09-08 24:00:00</OriginalTransactionDate>
<OriginalBillType>TF B</OriginalBillType>
<OriginalSerieOfficialBill>B</OriginalSerieOfficialBill>
<OriginalFiscalPOSNumber>0001</OriginalFiscalPOSNumber>
<OriginalBillNumber>00000201</OriginalBillNumber>

Sólo en devolución recuperando transacción original

Informa el número de transacción de la venta original

OriginalWorstationId

Sólo en devolución recuperando transacción original

Informa la terminal de la venta original

OriginalRetailStoreId

Sólo en devolución recuperando transacción original

Informa la tienda de la venta original

OriginalTransactionDate

Sólo en devolución recuperando transacción original

Informa la fecha de la venta original

OriginalBillType

Sólo en devolución recuperando transacción original

Informa el tipo de documento Fiscal de la venta original

OriginalSerieOfficialBill

Sólo en devolución recuperando transacción original

Informa la letra o serie del Documento Fiscal de la venta original

OriginalFiscalPOSNumber

Sólo en devolución recuperando transacción original

Informa el nro de centro emisor del Documento Fiscal de la venta original

OriginalBillNumber

Sólo en devolución recuperando transacción original

Informa el nro de comprobante del Documento Fiscal de la venta original

CustomerOrderIdentification

<CustomerOrderIdentification>
<WorkstationId>1</WorkstationId>
<SequenceNumber>200</SequenceNumber>
<RetailStoreID>100</RetailStoreID>
<Date>2017-09-08 24:00:00</Date>
<InternalOrderNumber>0001000001000200</InternalOrderNumber>
</CustomerOrderIdentification>

  • A) WorkstationId
  • B) SequenceNumber
  • C) RetailStoreID
  • D) Date
  • E) InternalOrderNumber

Sólo en facturación de presupuesto. Identifica la transacción de presupuesto que se está facturando

  • Opcional
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: n/a
  1. Informa la terminal del presupuesto original
  2. Informa el número de transacción del presupuesto original
  3. Informa la tienda del presupuesto original
  4. Informa la fecha del presupuesto original
  5. Nro de presupuesto

OfficialBill

Ejemplo TF B
<OfficialBill>
<BillType>TF B</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0001</FiscalPOSNumber>
<BillNumber>00000201</BillNumber>
<AmountOfBill>50.00</AmountOfBill>
</OfficialBill>

Ejemplo NC
<OfficialBill>
<BillType>NC B</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0001</FiscalPOSNumber>
<BillNumber>00000204</BillNumber>
<AmountOfBill>50.00</AmountOfBill>
</OfficialBill>

Informa el documento Fiscal asociado a esta Venta/Devolución o Cambio

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: n/a

BillType

Informa el tipo de documento Fiscal asociado a esta Venta/Devolución

  • Requerido
  • Repetición = 1 por elemento RetailTransaction

    Tipo de dato: n/a
    Lista de comprobantes fiscales:
  • FC (factura)
  • TF (ticket factura)
  • TK (ticket)
  • NC (nota de crédito)

SerieOfficialBill

Informa la letra o serie del Documento Fiscal

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: char

FiscalPOSNumber

Informa el nro de centro emisor del Documento Fiscal o punto de venta fiscal (si no es fiscal, se guarda el nro de terminal)

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: número entero

BillNumber

Informa el nro de comprobante del Documento Fiscal

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: número entero

AmountOfBill

Informa el Importe total del Documento Fiscal

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: decimal

CancelledOfficialBill

Informa aquellos documentos Fiscales asociados a esta Venta/Devolución que por algún motivo se hayan cancelado (ej: microcortes de energía en la printer fiscal, autocancelación por superar límites de ticket o ticket factura)

  • Opcional
  • Repetición = N por elemento RetailTransaction
  • Tipo de dato: n/a

BillType

Informa el tipo de documento Fiscal asociado a esta Venta/Devolución, que se haya cancelado

  • Requerido
  • Repetición = 1 por elemento RetailTransaction

    Tipo de dato: n/a
    Lista de comprobantes fiscales:
  • FC (factura)
  • TF (ticket factura)
  • TK (ticket)
  • NC (nota de crédito)

SerieOfficialBill

Informa la letra o serie del Documento Fiscal que se haya cancelado

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: char

FiscalPOSNumber

Informa el nro de centro emisor del Documento Fiscal que se haya cancelado

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: número entero

BillNumber

Informa el nro de comprobante del Documento Fiscal que se haya cancelado

  • Requerido
  • Repetición = 1 por elemento OfficialBill
  • Tipo de dato: número entero

ReturnReasonCode

Informa el código del motivo que generó la devolución

  • Opcional siempre y cuando sea una devolución, caso contrario no aplica que se visualice este tag
  • Repetición = 1 / elemento
  • Tipo de dato: caracteres

CancelReasonCode

Informa el motivo que generó la cancelación

  • Opcional siempre y cuando se encuentre activo el CancelFlag, caso contrario no aplica que se visualice este tag
  • Repetición = 1 / elemento
  • Tipo de dato: caracteres

CustomerCode

<CustomerCode>0100012345678100</CustomerCode>

Informa el código de cliente

  • Opcional
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres

POSEODSequenceNumber

<POSEODSequenceNumber>96</POSEODSequenceNumber>

Informa el número de cierre Z actual

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: número entero

FiscalControllerNumber

<FiscalControllerNumber>PEL1002927</FiscalControllerNumber>

Informa el número de serie de la impresora fiscal

  • Opcional
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres

FiscalPOSNumber

<FiscalPOSNumber>9998</FiscalPOSNumber>

Informa el centro emisor o punto de venta fiscal

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: número entero

ClosedFiscalReceiptInCourse

<ClosedFiscalReceiptInCourse>
<Number>5986</Number>
<TotalAmount/>
<TotalIVAAmount/>
</ClosedFiscalReceiptInCourse>

Informa datos del cierre Z actual (solo con printer fiscal)

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: número entero

CashdrawerOpeningRequested

<CashdrawerOpeningRequested>false</CashdrawerOpeningRequested>

Informa si la transacción requirió la apertura del cajón de dinero durante el transcuros de la misma

  • Requerido
  • Tipo de dato: booleano
  • Default="false"

LineItem


  • EntryMethod


  • VoidFlag


    Ejemplos
    <LineItem EntryMethod="SYS">
    <LineItem EntryMethod="Scanned">
    <LineItem EntryMethod="Keyed" VoidFlag="true">

Informa una línea de detalle de la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a



    Indica el método de entrada de la línea
  • Opcional
  • Tipo de dato: código (Keyed, Sys,..)


    Indica que esta línea de detalle es una Anulación
  • Opcional
  • Tipo de dato: booleano
  • Default="false"

SequenceNumber

<SequenceNumber>1</SequenceNumber>

Identifica cada línea de detalle de la transacción

  • Requerido
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: entero ( Cada elemento LineItem de RetailTransaction debe contener un número distinto)

Detalle



<SequenceNumber>1</SequenceNumber>
<Sale>


  • TypeCode

Cada elemento LineItem contiene uno y solo un elemento de detalle que depende del tipo de detalle. Vamos a considerar los siguientes:

  • Sale
  • Return
  • Discount
  • Tender
  • Tax
  • CustomerInformation


    Indica que el tipo de línea de detalle
  • Opcional
  • Tipo de dato: char

RingElapsedTime

<RingElapsedTime>22</RingElapsedTime>


TenderElapsedTime

<TenderElapsedTime>0</TenderElapsedTime>

Informa el tiempo total transcurrido para realizar el pago

LockElapsedTime

<LockElapsedTime>0</LockElapsedTime>

Informa el tiempo total transcurrido en el que el cajero bloquea la sesión hasta su desbloqueo.

EJ

<EJ/>

Datos guardados para el Electronic Journal. Ver Anexo auditoria y EJ

Audit

<Audit/>

Datos guardados para Auditoria. Ver Anexo auditoria y EJ



Totales


Total

  • TotalType
  • CancelFlag (no se utiliza)

Informa un total de la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: decimal


    Indica cual es el total que se está informando
  • Opcional
  • Tipo de dato: caracteres


    Otros tipos de totales (RetailTransactionTotalType)
  • "TransactionGrossPositiveAmount":
    • monto total acumulado de productos vendidos (sin descuentos) si es una venta.
    • monto total acumulado de productos anulados (sin descuentos) si es una devolución o si es una transacción de cambio
  • "TransactionGrossNegativeAmount":
    • monto total acumulado de productos anulados (sin descuentos) si es una venta.
    • monto total acumulado de productos devueltos (sin descuentos) si es una devolución o si es una transacción de cambio.
  • "TransactionTaxAmount": total acumulado de impuestos internos de los ítems + iva (no acumula los impuestos de clientes, percepciones)
  • "TransactionManualDiscount": total acumulado de descuentos manuales de los ítems y de la transacción
  • "TransactionAutomaticDiscount": total acumulado de descuentos automáticos de todos los ítems y de la transacción aplicados por promoción (Promo)
  • "TransactionTotalDiscount": monto acumulado de todos los descuento a nivel ítem + los descuentos a nivel transacción.
  • "TransactionPercentageDiscount": porcentaje promedio calculado en base al descuento total sobre el monto total de la transacción  (ej: descuento acumulado 50.- , total de la transacción 1000.- Porcentaje de descuento promedio= 5%)
  • "TransactionNetAmount": monto acumulado total de artículos vendidos – los artículos anulados – los descuentos aplicados (incluyendo servicios, recargos, etc)
  • "TransactionGrossAmount": bruto positivo menos bruto negativo. No acumula los impuestos del cliente (percepciones)
  • "TransactionPurchaseAmount": monto total acumulado de los artículos vendidos menos los artículos anulados (con descuentos aplicados). No debe incluir servicios o recargos. No acumula los impuestos del cliente (percepciones)




Transacción original en devoluciones


Sólo para transacciones de devolución


  • Se registran los datos de la transacción original a devolver.



<!—Transaction number of original transaction -->
<OriginalSequenceNumber>179</OriginalSequenceNumber>
<!—Workstation ID of original transaction -->
<OriginalWorstationId>001</OriginalWorstationId>
<!—RetailStore ID of original transaction -->
<OriginalRetailStoreID>01</OriginalRetailStoreID>
<!-- Business day for original transaction -->
<OriginalTransactionDate>2014-09-15 24:00:00</OriginalTransactionDate>
<!—OriginalOfficialBill ID of original transaction -->
<OriginalBillType>FC</ OriginalBillType >
<OriginalSerieOfficialBill>A</ OriginalSerieOfficialBill >
<OriginalFiscalPOSNumber>0001</ OriginalFiscalPOSNumber>
<OriginalBillNumber>00023212</ OriginalBillNumber>


Transacción original en presupuestos



Sólo para transacciones de facturación de presupuestos


  • Se registros los datos de la transacción de presupuesto original a facturar (tab CustomerOrderIdentification)



<!—Workstation ID of original transaction -->
<WorkstationId>4</WorkstationId>
<!—Transaction number of original transaction -->
<SequenceNumber>22</SequenceNumber>
<!—Workstation ID of original transaction -->
<RetailStoreID>1</RetailStoreID>
<!-- Business day for original transaction -->
<Date>2016-08-12 24:00:00</Date>
<!-- Business day for original transaction -->
<InternalOrderNumber>0001000001000200</InternalOrderNumber>


Detalle: Venta de un producto (Sale)



<LineItem EntryMethod="Keyed">
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>78</ItemID>
<POSItemID>1234587</POSItemID>
<Associate>
<AssociateID>111</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<Seria lNumber/>
<MerchandiseHierarchy>VGCo-PS3G</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>130.00</RegularSaleUnitPrice>
<ActualUnitPrice>130.00</ActualUnitPrice>
<ExtendedAmount>93.68</ExtendedAmount>
<UnitListPrice>120.59</UnitListPrice>
<ListPriceID>143</ListPriceID>
<SaleForDelivery></SaleForDelivery>
<Account>999988</Account>
<IDLocation>1</IDLocation>
<GiftReceiptFlag>false</GiftReceiptFlag>
<RetailTransactionDiscount>
<Amount>76.36</Amount>
<Percent>38.33</Percent>
</RetailTransactionDiscount>
<RetailPriceModifier MethodCode="PM">
<SequenceNumber>1</SequenceNumber>
<Amount Action="SB">18.09</Amount>
<Percent>15.00</Percent>
<ReasonCode>PM</ReasonCode>
<ReasonText>Ferrrero 50% en la segunda unidad</ReasonText>
<PromotionID>123</PromotionID>
<BenefitID>222</BenefitID>
</RetailPriceModifier>
<RetailPriceModifier MethodCode="PM">
<SequenceNumber>2</SequenceNumber>
<Amount Action="SB">8.82</Amount>
<Percent>15.00</Percent>
<ReasonCode>PM</ReasonCode>
<ReasonText>Ferrrero 50% en la segunda unidad</ReasonText>
<PromotionID>123</PromotionID>
<BenefitID>233</BenefitID>
</RetailPriceModifier>
<Tax TaxType="TAX" TypeCode="Sale">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>Imp. Int. Ley 1234</TaxAuthority>
<Amount>0.00</Amount>
</Tax>
<Tax TaxType="VAT" TypeCode="Sale">
<SequenceNumber>2</SequenceNumber>
<TaxAuthority>IVA 10.5%</TaxAuthority>
<Amount>8.77</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">84.91</TaxableAmount>
<Percent>10.50</Percent>
</Tax>
<Reserved>true</Reserved>
<StockReservationLineItem>
<SequenceNumber>1</SequenceNumber>
<InventoryReservationID/>
<StoreReservationID>1</StoreReservationID>
<LocationReservationID>1</LocationReservationID>
<RevenueCenterID>RCD</RevenueCenterID>
<ItemInventoryStateID>OnSale</ItemInventoryStateID>
<parentInventoryReservationID/>
<reservedQuantity>3.00</reservedQuantity>
</StockReservationLineItem>
</Sale>
</LineItem>


Elemento

  • Atributos

XML ejemplo

Descripción

Sale

<Sale>

Informa la venta de un producto

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: n/a

ItemID

<ItemID>78</ItemID>

Informa el código del producto

  • Requerido
  • Repetición = 1 por elemento Sale
  • Tipo de dato: caracteres

KitIndicator

<KitIndicator>false</KitIndicator>

Informa si es un articulo kit

ComponentIndicator

<ComponentIndicator>true</ComponentIndicator>

Informa si es un componente de un kit

POSItemID

<POSItemID>771221325623</POSItemID>

Informa el código de presentación (alias/código de barras) de un producto

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: caracteres

Associate

<Associate>
<AssociateID>MariaL</AssociateID>
</Associate>

Informa el vendedor asociado a la venta del producto

  • Requerido
  • Repetición = 1 por elemento Sale
  • Tipo de dato: N/A

AssociateId


Informa el código de vendedor del producto

  • Opcional
  • Repetición = 1 por elemento Associate
  • Tipo de dato: caracteres

ItemType

<ItemType>NORM</ItemType>

Informa el tipo de código

  • Opcional
  • Tipo de dato: código
  • Default = SKU

    Lista posible
  • CONT - Envase
  • MISC - Misceláneos
  • CHRG - Recargos
  • NORM - Normal
  • DEPT - Departamental
  • GRAL - Genérico
  • WRTY - Garantías
  • SERV - Servicios
  • GFCD - GiftCard

UnitCost

<UnitCost>40.00</UnitCost>

Informa el precio de costo del artículo

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal

SerialNumber

<SerialNumber>132AHJD</SerialNumber>

Informa la serie del producto si tuviera

  • Opcional
  • Tipo de dato: caracteres

MerchandiseHierarchy

<MerchandiseHierarchy>VGCo-PS3G</MerchandiseHierarchy>

Informa la jerarquía departamental del producto

  • Opcional
  • Tipo de dato: caracteres

Quantity

  • Units



  • UnitOfMeasumereCode








  • SecondUnitOfMeasureCode

<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>

<Quantity Units="1" UnitOfMeasureCode="kg">1</Quantity>

Informa la cantidad de productos vendidos en este detalle

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal


    Informa la cantidad de unidades de medida que contiene cada producto vendido.
  • Opcional
  • Tipo de dato: decimal
  • Default="1"


    Informa la unidad de medida usada para registrar la venta.
  • Opcional
  • Tipo de dato: Código
    • "u" : unidad
    • "l" : litro
    • "m" : metro
    • "g" : gramo
    • "kg" : kilogramo
    • "c3" : centrimetro cubico
    • "cm" : centimetro
  • Default="u"


    Informa la segunda unidad de medida del ítem
  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: int

RegularSaleUnitPrice

<RegularSaleUnitPrice>5.00</RegularSaleUnitPrice>

Informa el precio unitario del producto

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal

ActualUnitPrice

<ActualUnitPrice>5.00</ActualUnitPrice>

Informa el precio real en el que se vendió el producto (no incluye los descuentos)

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal

ExtendedAmount

<ExtendedAmount>5.00</ExtendedAmount>

Informa el precio extendido del producto (precio actual * cantidad – descuentos)

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal

<UnitListPrice>


Informa el precio de lista del producto

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: decimal

<ListPriceID>


Informa la lista de precios utilizada para el producto

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: varchar

<SaleForDelivery>


Flag que informa si el producto es para delivery

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: bit

<Account>


Informa la cuenta contable del ERP

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: varchar

IDLocation

<IDLocation>DEP1_OS</IDLocation>

Informa el depósito donde se toma el stock del artículo

  • Opcional
  • Repetición = 1 por elemento Sale
  • Tipo de dato: caracteres

GiftReceiptFlag

<GiftReceiptFlag>false</GiftReceiptFlag>

Informa si el producto fue marcado para la impresión de un ticket de regalo

  • Requerido
  • Repetición = 1 por elemento Sale
  • Tipo de dato: boolean
  • Default: false

RetailTransactionDiscount

<RetailTransactionDiscount>
<Amount>5.00</Amount>
<Percent>10.00</Percent>
</RetailTransactionDiscount>

Informa los descuentos acumulados sobre el producto

  • Requerido
  • Repetición = 1 por elemento Sale
  • Tipo de dato: N/A

Amount

<Amount>5.00</Amount>

Informa el monto total de descuentos del producto

  • Requerido
  • Repetición = 1 por elemento RetailTransactionDiscount
  • Tipo de dato: decimal

Percent

<Percent>10.00</Percent>

Informa el porcentaje proporcional que representa el total acumulado de descuentos sobre el ítem

  • Requerido
  • Repetición = 1 por elemento RetailTransactionDiscount
  • Tipo de dato: decimal

RetailPriceModifier

  • MethodCode

<RetailPriceModifier MethodCode="PO">
<SequenceNumber>1</SequenceNumber>
<Amount Action="SB">5.00</Amount>
<Percent>10.00</Percent>
<ReasonCode>OD</ReasonCode>
<ReasonText/>
<PromotionID/>
<BenefitID/>
</RetailPriceModifier>

Informa una alteración sobre el precio regular del producto.

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a


    Indica el origen de la modificación:
  • Opcional
  • Tipo de dato: Código:
    • "PriceOverride" : cambio introducido por el operador
    • "PriceRule" : resultado de aplicar método de precio del producto
    • "Promotion" : resultado de aplicar una promoción
    • "Markdown" : resultado de aplicar una rebaja en el margen
    • "HealthProgram" : (1.01) descuento obra social

SequenceNumber

<SequenceNumber>1</SequenceNumber>

Este elemento de RetailPriceModifier se usa para indicar el orden en que se aplicó cada modificación de precio.

  • Requerido
  • Repetición = 1 /elemento RetailPriceModifier
  • Tipo de dato: entero

Amount

  • Action

<Amount Action="SB">5.00</Amount>

Informa el importe de la modificación de precio.

  • Opcional
  • Repetición = 1 por elemento RetailPriceModifier, excluyente con <Percent>
  • Tipo de dato: decimal


    Indica cómo se aplica el importe de la modificación
  • Requerido
  • Tipo de dato: Código
    • "Add" : incrementa (AD)
    • "Substract" : decrementa (SB)

Percent

  • Action

<Percent>10.00</Percent>

Indica el porcentaje de la modificación de precio.

  • Opcional
  • Repetición = 1 por elemento RetailPriceModifier, excluyente con <Amount>
  • Tipo de dato: decimal


    Indica cómo se aplica el importe de la modificación
  • Requerido
  • Tipo de dato: Código
    • "Add" : incrementa
    • "Subtract" : decrementa

ReasonCode

<ReasonCode>OD</ReasonCode>

Informa el código motivo que generó la modificación de precio o descuento.

  • Opcional
  • Repetición = 1 / elemento RetailPriceModifier
  • Tipo de dato: caracteres

ReasonText

<ReasonText>Menú Ejecutivo Alpastel Pâtisserie</ReasonText>

Informa el texto de motivo de descuento

  • Opcional
  • Repetición = 1 / elemento RetailPriceModifier
  • Tipo de dato: caracteres

PromotionID

<PromotionID>5936be39c3d18662f7fd5800</PromotionID>

Informa el código de la Promoción que generó la modificación de precio.

  • Opcional
  • Repetición = 1 / elemento RetailPriceModifier
  • Tipo de dato: caracteres

    (corresponde al campo nro del tag promo en la respuesta del motor de PROMO)
    Ej: <promo id= "Promo navidad" nro="123">

BenefitID

<BenefitID>5936be39c3d18662f7fd57fe</BenefitID>

Informa el código del beneficio aplicado que generó la modificación de precio.

  • Opcional
  • Repetición = 1 / elemento RetailPriceModifier
  • Tipo de dato: caracteres

    (corresponde al campo nro del tag benefit en la respuesta del motor de PROMO)
    Ej: <benefit order="1" benefitType="FixedAmount" displayMessage="" printerMessage="" unit="qty" prorationMethod="PROPORTIONAL" applicationMethod="lineByLine" nro="3" amount="20.00" baseAmount="165.00">

Tax

<Tax TaxType="VAT" TypeCode="Sale">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>2 </TaxAuthority>
<Amount>6.11</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">29.07</TaxableAmount>
<Percent>21.00</Percent>
</Tax>

Ver detalle incluido en la sección 2.1.1.19 Detalle: Impuestos (tax)

Reserved

<Reserved>false</Reserved>

Informa si existe una reserva para el producto

  • Requerido
  • Repetición = uno por LineItem
  • Tipo de dato: boolean
  • Default: false

StockReservationLineItem


<StockReservationLineItem>
<SequenceNumber>1</SequenceNumber>
<InventoryReservationID/>
<StoreReservationID>100</StoreReservationID>
<LocationReservationID>DEP2_OS</LocationReservationID>
<RevenueCenterID>RCD</RevenueCenterID>
<ItemInventoryStateID>OnSale</ItemInventoryStateID>
<parentInventoryReservationID/>
<reservedQuantity>1.00</reservedQuantity>
</StockReservationLineItem>

Informa detalle asociado a la reserva de stock realizada

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a

SequenceNumber

<SequenceNumber>1</SequenceNumber>

Informa el número de secuencia

  • Requerido
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: number

InventoryReservationID

<InventoryReservationID/>

Informa el número de reserva

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

StoreReservationID

<StoreReservationID>100</StoreReservationID>

Informa la tienda desde la cual se genera la reserva o de donde sale el stock (si no hubo reserva pero el ítem es StockItem)
Aplica para venta y devolución

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

LocationReservationID

<LocationReservationID>DEP2_OS</LocationReservationID>

Código del depósito de reserva o de donde sale el stock (si no hubo reserva pero el ítem es StockItem)
Aplica para venta y devolución

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

RevenueCenterID

<RevenueCenterID>RCD</RevenueCenterID>

Código del centro de costo del depósito de donde sale el stock (si no hubo reserva pero el ítem es StockItem)
Aplica para venta y devolución

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

ItemInventoryStateID

<ItemInventoryStateID>OnSale</ItemInventoryStateID>

Estado del itemInventory del depósito de donde sale el stock (si no hubo reserva pero el ítem es StockItem)
Aplica para venta y devolución

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

parentInventoryReservationID

<parentInventoryReservationID/>

Informa el número de reserva que se está anulando (sólo para ítems Void)

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: char

reservedQuantity

<reservedQuantity>1.00</reservedQuantity>

Informa la cantidad reservada

  • Opcional
  • Repetición = uno por StockReservationLineItem
  • Tipo de dato: number



EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<PosLog xmlns:lxslt="http://xml.apache.org/xslt">
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>100</RetailStoreID>
<WorkstationID>1</WorkstationID>
<TillID>4</TillID>
<TillType>Operator</TillType>
<SequenceNumber>216</SequenceNumber>
<BusinessDayDate>2017-09-07</BusinessDayDate>
<Period>11</Period>
<Subperiod>12</Subperiod>
<BeginDateTime>2017-09-09 15:28:52</BeginDateTime>
<EndDateTime>2017-09-09 15:29:08</EndDateTime>
<OperatorID>MariaL</OperatorID>
<RetailTransaction Version="2.2">
<!—Venta -->
<TypeCode>Sale</TypeCode>
<SubTypeCode>Venta Regular</SubTypeCode>
<TypeID>1</TypeID>
<OriginalSequenceNumber/>
<OriginalWorstationId/>
<OriginalRetailStoreID/>
<OriginalTransactionDate/>
<OriginalBillType/>
<OriginalSerieOfficialBill/>
<OriginalFiscalPOSNumber/>
<OriginalBillNumber/>
<OfficialBill>
<!—TK B -->
<BillType>TK</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0001</FiscalPOSNumber>
<BillNumber>00000216</BillNumber>
<AmountOfBill>406.00</AmountOfBill>
</OfficialBill>
<CustomerCode/>
<POSEODSequenceNumber/>
<FiscalControllerNumber/>
<FiscalPOSNumber>0001</FiscalPOSNumber>
<CashdrawerOpeningRequested>false</CashdrawerOpeningRequested>

<!-- Venta de 7 unidades del producto 78-->
<LineItem EntryMethod="Keyed">
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>78</ItemID>
<KitIndicator>true</KitIndicator>
<ComponentIndicator>false</ComponentIndicator>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>96.89</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>VGCo-PS3G</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">7</Quantity>
<RegularSaleUnitPrice>58.00</RegularSaleUnitPrice>
<ActualUnitPrice>58.00</ActualUnitPrice>
<ExtendedAmount>406.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>
<GiftReceiptFlag>false</GiftReceiptFlag>
<!-- Venta de 1.6 kg del producto 1122, a $5.00 el kilo -->
<Sale>
<ItemID>1122</ItemID>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>4.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy/>
<Quantity Units="1.6" UnitOfMeasureCode="kg">1</Quantity>
<RegularSaleUnitPrice>5.00</RegularSaleUnitPrice>
<ActualUnitPrice>5.00</ActualUnitPrice>
<ExtendedAmount>8.00</ExtendedAmount>

</LineItem>
<!—Anulación de Venta del producto 90001, con nro de serie de $350.00 -->
<LineItem EntryMethod="Keyed" VoidFlag="true">
<SequenceNumber>4</SequenceNumber>
<Sale>
<ItemID>90001</ItemID>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>204.00</UnitCost>
<SerialNumber>123</SerialNumber>
<MerchandiseHierarchy>Elec-VGCo</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>350.00</RegularSaleUnitPrice>
<ActualUnitPrice>350.00</ActualUnitPrice>
<ExtendedAmount>350.00</ExtendedAmount>

</Sale>
</LineItem>

<!— Venta del producto 1234, que requiere precio y fue vendido por cantidad = 3, cada uno a $650.00. Se aplicó un descuento que fue aprobado por un supervisor -->
<Sale>
<ItemID>1234</ItemID>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>440.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>Elec-DiCa</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">3</Quantity> <!— Se vende por cantidad 3-->
<RegularSaleUnitPrice>600.00</RegularSaleUnitPrice>
<ActualUnitPrice>650.00</ActualUnitPrice>
<ExtendedAmount>1755.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>
<GiftReceiptFlag>false</GiftReceiptFlag>
<RetailTransactionDiscount>
<Amount>195.00</Amount>
<Percent>10.00</Percent>
</RetailTransactionDiscount>
<RetailPriceModifier MethodCode="PO"> <!— Se aplicó un descuento -->
<SequenceNumber>1</SequenceNumber>
<Amount Action="SB">195.00</Amount>
<Percent>10.00</Percent>
<ReasonCode>SU</ReasonCode>
<ReasonText/>
<PromotionID/>
<BenefitID/>
</RetailPriceModifier>
<Tax TaxType="VAT" TypeCode="Sale">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>2 </TaxAuthority>
<Amount>304.59</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">1450.41</TaxableAmount>
<Percent>21.00</Percent>
</Tax>
<Reserved>false</Reserved>
</Sale>
<OperatorBypassApproval><!— Se aplicó un descuento que fue aprobado por un supervisor -->
<SequenceNumber>1</SequenceNumber>
<ApproverID>Juan</ApproverID>
<Description>applyDiscount</Description>
<EntryMethod>KYD</EntryMethod>
<LineApprovalCode/>
</OperatorBypassApproval>
</LineItem>


Detalle: Venta de un producto garantizado (Sale)



<!— Venta de un artículo y su garantía -->
<LineItem EntryMethod="Keyed">
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>90001</ItemID> <!— Artículo a garantizar -->
<POSItemID/>
<Associate>
<AssociateID>MariaL</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>504.00</UnitCost>
<SerialNumber>365932</SerialNumber>
<MerchandiseHierarchy>Elec-VGCo</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>1350.00</RegularSaleUnitPrice>
<ActualUnitPrice>1350.00</ActualUnitPrice>
<ExtendedAmount>1350.00</ExtendedAmount>
… (Se omiten el resto de los datos en este ejemplo)
</Sale>
</LineItem>
<LineItem EntryMethod="Keyed">
<SequenceNumber>2</SequenceNumber>
<Sale>
<ItemID>WRTY</ItemID><!— Artículo garantía -->
<POSItemID/>
<Associate>
<AssociateID>MariaL</AssociateID>
</Associate>
<ItemType>WRTY</ItemType>
<UnitCost>0.00</UnitCost>
<SerialNumber>365932</SerialNumber> <!— Nro de serie del artículo garantízado -->
<MerchandiseHierarchy/>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>0.00</RegularSaleUnitPrice>
<ActualUnitPrice>413.50</ActualUnitPrice>
<ExtendedAmount>413.50</ExtendedAmount>
… (Se omiten el resto de los datos en este ejemplo)
</Sale>
<Association TypeCode="WRT"><!— Asociación con el item sequence 1, ser su garantía -->
<SequenceNumber>1</SequenceNumber>
<PolicyNumber>3623200023000</PolicyNumber> <!— Nro de póliza de la garantía -->
<SerialNumber>365932</SerialNumber> <!— Nro de serie del producto garantizado -->
</Association>
</LineItem>


Elemento

  • Atributos

Descripción


Association TypeCode="WRT"

<Association TypeCode="WRT">
<SequenceNumber>1</SequenceNumber>
<PolicyNumber>3623200023000</PolicyNumber>
<SerialNumber>365932</SerialNumber> </Association>

Informa la relación de garantía y su sequence del ítem garantizado

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: n/a

PolicyNumber

<PolicyNumber>3623200023000</PolicyNumber>

Informa el número de la poliza

SerialNumber

<SerialNumber>365932</SerialNumber>

Informa el número de serie garantizado




Detalle: Devolución de un producto (Return)


Indica un producto que se devuelve.
El importe (ExtendedAmount) va en positivo, se asume que resta del total. ( si se indica VoidlFlag="true" a nivel de LineItem, es una anulación de Devolución de producto, el importe se expresa también en positivo pero se asume que suma al total).
Tiene los mismos componentes que el detalle <Sale> con las siguientes extensiones:


Elemento

  • Atributos

Descripción

Return

<Return>

</Return>

Informa la devolución de un producto

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: n/a

ReturnReasonCode

<ReturnReasonCode>PD</ReturnReasonCode>

Informa el motivo de la devolución

  • Opcional
  • Repetición = 1 por elemento Return
  • Tipo de dato: String

ReturnReasonText

<ReturnReasonText>El cliente declara estar defectuoso</ReturnReasonText>

Informa el texto del motivo de la devolución ingresado por el vendedor.

  • Opcional
  • Repetición = 1 por elemento Return
  • Tipo de dato: String




EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<POSLog>
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>145</RetailStoreID>
<WorkstationID>5</WorkstationID>
<TillID>4</TillID>
<TillType>Workstation</TillType>
<SequenceNumber>99</SequenceNumber>
<BusinessDayDate>2006-12-05</BusinessDayDate>
<Period>3</Period>
<Subperiod>4</Subperiod>
<BeginDateTime>2006-12-05 09:56:17</BeginDateTime>
<EndDateTime>2006-12-05 09:56:30</EndDateTime>
<OperatorID>105</OperatorID>
<OriginalTransaction></OriginalTransaction>
<RetailTransaction Version="2.2">
<TypeCode>Return</TypeCode>
<SubTypeCode>Devolucion Venta Regular</SubTypeCode>
<TypeID>2</TypeID>
<OriginalSequenceNumber>224</OriginalSequenceNumber>
<OriginalWorstationId>1</OriginalWorstationId>
<OriginalRetailStoreID>100</OriginalRetailStoreID>
<OriginalTransactionDate>2017-09-10 24:00:00</OriginalTransactionDate>
<OriginalBillType>TK</OriginalBillType>
<OriginalSerieOfficialBill>B</OriginalSerieOfficialBill>
<OriginalFiscalPOSNumber>0001</OriginalFiscalPOSNumber>
<OriginalBillNumber>00000224</OriginalBillNumber>
<OfficialBill>
<BillType>NC B</BillType>
<SerieOfficialBill>B</SerieOfficialBill>
<FiscalPOSNumber>0004</FiscalPOSNumber>
<BillNumber>00000012</BillNumber>
<AmountOfBill>749.76</AmountOfBill>
</OfficialBill>
<CustomerCode>9999</CustomerCode>
<POSEODSequenceNumber/>
<FiscalControllerNumber/>
<FiscalPOSNumber>0004</FiscalPOSNumber>
<CashdrawerOpeningRequested>false</CashdrawerOpeningRequested>
<!— Devolución del producto 78 por cantidad 2 con referencia de compra original -->
<LineItem EntryMethod="SYS"> <!— Cuando es devolución con referencia, el método es por sistema -->
<SequenceNumber>1</SequenceNumber>
<Return>
<ItemID>78</ItemID>
<KitIndicator>true</KitIndicator>
<ComponentIndicator>false</ComponentIndicator>
<POSItemID/>
<Associate>
<AssociateID>MariaL</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>46.89</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>VGCo-PS3G</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">2</Quantity>
<RegularSaleUnitPrice>58.00</RegularSaleUnitPrice>
<ActualUnitPrice>58.00</ActualUnitPrice>
<ExtendedAmount>116.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>
<GiftReceiptFlag>false</GiftReceiptFlag>
<RetailTransactionDiscount>
<Amount>0.00</Amount>
<Percent>0.00</Percent>
</RetailTransactionDiscount>
<Tax TaxType="TAX" TypeCode="Return"> <!— Impuestos -->
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>4</TaxAuthority>
<Amount>6.70</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">116.00</TaxableAmount>
<Percent>5.78</Percent>
</Tax>
<Tax TaxType="VAT" TypeCode="Return"> <!— IVA -->
<SequenceNumber>2</SequenceNumber>
<TaxAuthority>2 </TaxAuthority>
<Amount>18.97</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">90.33</TaxableAmount>
<Percent>21.00</Percent>
</Tax>
<Reserved>false</Reserved>
<StockReservationLineItem>
<SequenceNumber>1</SequenceNumber>
<InventoryReservationID/>
<StoreReservationID>100</StoreReservationID>
<LocationReservationID>DEP1_OS</LocationReservationID>
<RevenueCenterID>RCD</RevenueCenterID>
<ItemInventoryStateID>OnSale</ItemInventoryStateID>
<parentInventoryReservationID/> <!— la reserva fue por 3 unidades -->
<reservedQuantity>3.00</reservedQuantity>
</StockReservationLineItem>
<ReturnReasonCode>PI</ReturnReasonCode> <!— motivo de devolución -->
<ReturnReasonText>Producto incompleto</ReturnReasonText>
</Return>
</LineItem>


Detalle: Promociones con beneficios no monetarios a nivel transacción o a nivel ítem


Informa los códigos de promociones y id de beneficios no monetarios dentro del <benefit>. Esto pudiera aplicar tanto a nivel transacción como a nivel ítem.
Se informan los datos comunes a todos los beneficios como type, promotionID y benefitID. Luego por cada tipo de beneficio, se registran datos específicos.


  • No implementado -



Ejemplo:
<Benefit type= "LoyaltyBenefit">
<PromotionID>1441</PromotionID>
<BenefitID>11</BenefitID>
<LoyaltyBenefit>
<Type>Millage</Type>
<Value>500</Value>
<TotalPoints>500</TotalPoints>
</LoyaltyBenefit>
</Benefit>


Elemento

  • Atributos

Descripción

Benefit


  • Type

Informa un beneficio no monetario aplicado por alguna promoción

  • Opcional
  • Repetición = N (puede haber más de un elemento Benefit en RetailTransaction)
  • Tipo de dato: n/a


    Informa el tipo de beneficio no monetario (esto corresponde al campo benefitType del mensaje de respuesta del motor de PROMO. Ej: LoyaltyBenefit)

PromotionID

Informa el código de la Promoción que generó la aplicación del beneficio no monetario.

  • Opcional
  • Repetición = 1 / elemento Benefit
  • Tipo de dato: caracteres

    (corresponde al campo nro del tag promo en la respuesta del motor de PROMO)
    Ej: <promo id= "Promo navidad" nro="123">

BenefitID

Informa el código del beneficio aplicado que generó la modificación de precio.

  • Opcional
  • Repetición = 1 / elemento Benefit
  • Tipo de dato: caracteres

    (corresponde al campo nro del tag benefit en la respuesta del motor de PROMO)
    Ej: <benefit order="1" benefitType="FixedAmount" displayMessage="" printerMessage="" unit="qty" prorationMethod="PROPORTIONAL" applicationMethod="lineByLine" nro="3" amount="20.00" baseAmount="165.00">




Detalle: Descuento a nivel transacción ( Discount)


Informa descuentos realizados a nivel de transacción
<SequenceNumber>2</SequenceNumber> <!— Descuento al total de la transacción por monto fijo -->
<Discount ProratedFlag="" TypeCode="Sale">
<Amount>10.00</Amount>
<ReasonCode>OS</ReasonCode>
<ReasonText/>
</Discount>
</LineItem>
<LineItem> <!— Descuento al total de la transacción porcentual -->
<SequenceNumber>3</SequenceNumber>
<Discount ProratedFlag="" TypeCode="Sale">
<Amount>27.00</Amount>
<Percentage>25</Percentage>
<ReasonCode>OS</ReasonCode>
<ReasonText/>
</Discount>
</LineItem>
<LineItem VoidFlag="true"> <!— Descuento al total de la transacción anulado -->
<SequenceNumber>4</SequenceNumber>
<Discount ProratedFlag="" TypeCode="Sale">
<Amount>10.00</Amount>
<ReasonCode>OS</ReasonCode>
<ReasonText/>
</Discount>
</LineItem>


Elemento

  • Atributos

Descripción

Discount



ProratedFlag="" (no se utiliza)

TypeCode="Sale" (si el descuento es dentro de una venta o return dentro de una devolución)

Informa un descuento que afecta al total de la transacción

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem ( puede haber más de un elemento LineItem con detalle Discount en RetailTransaction).
  • Tipo de dato: n/a

Amount

Informa el importe del descuento.

  • Opcional
  • Repetición = 1 por elemento Discount
  • Tipo de dato: decimal. Se informa como positivo y se asume que resta del total.( si CancelFlag="true", resta del total )

Percentage

Informa el porcentaje del descuento.

  • Opcional
  • Repetición = 1 por elemento Discount
  • Tipo de dato: decimal

ReasonCode

Informa el motivo que generó el descuento a nivel de transaccion

  • Opcional
  • Repetición = 1 / elemento
  • Tipo de dato: caracteres

ReasonText

Informa el texto del motivo que generó el descuento a nivel de transaccion

  • Opcional
  • Repetición = 1 / elemento
  • Tipo de dato: caracteres



EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>SUC.02</RetailStoreID>
<WorkstationID>1</WorkstationID>
<SequenceNumber>12</SequenceNumber>
<BusinessDayDate>2007-03-21</BusinessDayDate>
<BeginDateTime>2007-03-21 07:10:17</BeginDateTime>
<EndDateTime>2007-03-21 07:10:391</EndDateTime>
<OperatorID>LUIS</OperatorID>
<RetailTransaction Version="2.2">
<!— - Factura B -->
<OfficialBill>
<BillNumber>FC B 0012-00001292</BillNumber>
<AmountOfBill>121.00</AmountOfBill>
</OfficialBill>
<POSEODSequenceNumber>43</POSEODSequenceNumber>
<FiscalControllerNumber>HHX1234567</FiscalControllerNumber>
<FiscalPOSNumber>0012</FiscalPOSNumber>
<!—Venta del producto 11001 -->
<LineItem>
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>11001</ItemID>
<ExtendedAmount>420.00</ExtendedAmount>
</Sale>
</LineItem>
<!—Venta del producto 11002 -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Sale>
<ItemID>11002</ItemID>
<ExtendedAmount>260.00</ExtendedAmount>
</Sale>
</LineItem>
<!—Descuento 10% sobre el total -->
<LineItem>
<SequenceNumber>3</SequenceNumber>
<Discount>
<Amount>68.00</ItemID>
<Percentage>10</Percentage>
<ReasonCode>OS</ReasonCode>
<ReasonText/>
</Discount>
</LineItem>
</RetailTransaction>
</Transaction>
</POSLog>


Detalle: Cliente (Customer)


Registra los datos del cliente a través de un lineItem. Los datos del cliente, se encontrarán detallados como LineItemModifier.
A continuación se detalla el cliente asociado a la venta/devolución/preventa en curso. En el caso de crearse un nuevo cliente, el registro se hará en un TLOG independiente a la transacción en curso siendo este una ControlTransaction (ver Registro de un nuevo cliente )
<LineItem>
<SequenceNumber>9</SequenceNumber>
<CustomerInformation TypeCode="NA">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationName</Id>
<Value>Rossi, Emilia</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>
<LineItem>
<SequenceNumber>10</SequenceNumber>
<CustomerInformation TypeCode="NA">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>CustomerStore</Id>
<Value/>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>
<LineItem>
<SequenceNumber>11</SequenceNumber>
<CustomerInformation TypeCode="NA">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>PartyTypeCode</Id>
<Value>J</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>
<LineItem>
<SequenceNumber>12</SequenceNumber>
<CustomerInformation TypeCode="FI">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationNumber</Id>
<Value>27298660224</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>
<LineItem>
<SequenceNumber>13</SequenceNumber>
<CustomerInformation TypeCode="AD">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>CALLE</Id>
<Value>Tucumଠ2692 Piso 2</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
<LineModifier>
<SequenceNumber>2</SequenceNumber>
<Id>CIUDAD</Id>
<Value>Kilometro 376</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
<LineModifier>
<SequenceNumber>3</SequenceNumber>
<Id>PROVINCIA</Id>
<Value>SANTA FE</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
<LineModifier>
<SequenceNumber>4</SequenceNumber>
<Id>CODIGO POSTAL</Id>
<Value>3000</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
<LineModifier>
<SequenceNumber>5</SequenceNumber>
<Id>PAIS</Id>
<Value>Argentina</Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>


CustomerInformation

  • typeCode

Informa el cliente que realizó la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a


    Informa el tipo de dato del cliente
  • Opcional
  • Repetición = sin límite
  • Tipo de dato: Código
    • "NA" (CustomerName)
    • "FI" (FiscalIdentification)
    • "AD" (CustomerAddress)

LineModifier

  • Sequence number
  • ID













  • Value
  • FormatCode

Informa un valor del tipo de dato definido para el cliente.

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a


    Indica el nro de secuencia dentro del LineModifier

    Indica el dato que se registrará
  • Tipo de dato: Código
    • "RegistrationName" ( FirstName + LastName)
    • "CustomerStore"
    • "PartyTypeCode" (tipo de cliente: P=PERSONA FISICA y J=PERSONA EMPRESA)
    • "RegistrationNumber" (id de la identificación)
    • "CALLE" (informa la ubicación del cliente)
    • "CIUDAD"
    • "PROVINCIA"
    • "CODIGO POSTAL"
    • "PAIS"



      Indica el valor del tipo de dato definido (ej: 12345)

      Indica el tipo de dato del valor


Detalle: Medio de Pago (Tender)


Informa un pago realizado.


Elemento

  • Atributos

Descripción

Tender



  • TenderType



  • TypeCode

Informa un medio de pago aceptado

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem (puede haber más de un elemento LineItem con detalle Tender en RetailTransaction).
  • Tipo de dato: n/a



    Informa cual es el medio de pago ( Efectivo, tarjeta, cheque, etc )
  • Opcional
  • Repetición = 1 por elemento Tender
  • Tipo de dato: caracteres (código del tender)



    Indica si es un pago entregado o recibido
  • Opcional
  • Tipo de dato: código
    • "Sale" : el pago lo hace el cliente
    • "Return": el pago lo recibe el cliente
  • Default : "Sale"

Amount

  • Currency

  • ForeignAmount

Informa el importe del medio de pago.

  • Requerido
  • Repetición = 1 por elemento Tender
  • Tipo de dato: decimal


    Informa la moneda si es distinta a la corriente
  • Opcional
  • Tipo de Dato: Código ISO4217 ( ver CurrencyCode.xsd )


    Informa el importe en la moneda extranjera
  • Opcional
  • Tipo de dato:decimal

TenderChange

Informa el vuelto

  • Opcional
  • Repetición: puede haber más de 1
  • Tipo de dato: n/a

Amount

  • Currency

  • ForeignAmount

Informa el importe del vuelto.

  • Requerido
  • Repetición = 1 por elemento TenderChange
  • Tipo de dato: decimal


    Informa la moneda si es distinta a la corriente
  • Opcional
  • Tipo de Dato: Código ISO4217 ( ver CurrencyCode.xsd )


    Informa el importe en la moneda extranjera
  • Opcional
  • Tipo de dato: decimal

CustomerAccount

Informa el Nro de cuenta del cliente asociado al pago

  • Opcional
  • Tipo de dato: string
    <CustomerAccount>1111111111</CustomerAccount>

CustomerIDNumber

Informa el Nro de documento del cliente asociado al pago:

  • Opcional
  • Tipo de dato: string
    <CustomerIDNumber>1234-56-7890</CustomerIDNumber>

PaymentCondition

Informa la condición o plan de pagos

  • Opcional
  • Tipo de dato: string




EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>SUC.02</RetailStoreID>
<WorkstationID>1</WorkstationID>
<SequenceNumber>13</SequenceNumber>
<BusinessDayDate>2007-03-21</BusinessDayDate>
<BeginDateTime>2007-03-21 07:15:19</BeginDateTime>
<EndDateTime>2007-03-21 07:17:31</EndDateTime>
<OperatorID>LUIS</OperatorID>
<RetailTransaction Version="2.2">
<!— - Factura B -->
<OfficialBill>
< BillNumber>FC B 0012-00001293</BillNumber>
<AmountOfBill>500.00</AmountOfBill>
</OfficialBill>
<POSEODSequenceNumber>43</POSEODSequenceNumber>
<FiscalControllerNumber>HHX1234567</FiscalControllerNumber>
<FiscalPOSNumber>0012</FiscalPOSNumber>

<!—Venta del producto 11004 -->
<LineItem>
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>11004</ItemID>
<ExtendedAmount>500.00</ExtendedAmount>
</Sale>
</LineItem>
<!— Pago con un vale de 200 -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender>
<TenderID>"VALE"</TenderID>
<Amount>200.00</Amount>
</Tender>
</LineItem>
<!— Anulación vale de 200 -->
<LineItem CancelFlag="true">
<SequenceNumber>3</SequenceNumber>
<Tender>
<TenderID>"VALE"</TenderID>
<Amount>200.00</Amount>
</Tender>
</LineItem>
<!— Pago con 200 dolares -->
<LineItem>
<SequenceNumber>4</SequenceNumber>
<Tender>
<TenderID>"Dolar"</TenderID>
<Amount Currency="USS" ForeignAmount="200">620.00</Amount>
<TenderChange>
<Amount Currency="USS" ForeignAmount="30">93.00</Amount>
</TenderChange>
<TenderChange>
<TenderID>"Efectivo"</TenderID>
<Amount>27.00</Amount>
</TenderChange>
</Tender>
</LineItem>
</RetailTransaction>
</Transaction>
</POSLog>
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>SUC.02</RetailStoreID>
<WorkstationID>1</WorkstationID>
<SequenceNumber>14</SequenceNumber>
<BusinessDayDate>2007-03-21</BusinessDayDate>
<BeginDateTime>2007-03-21 07:19:11</BeginDateTime>
<EndDateTime>2007-03-21 07:22:02</EndDateTime>
<OperatorID>LUIS</OperatorID>
<RetailTransaction Version="2.2">
<!— - Nota de Crédito B -->
<OfficialBill>
<BillNumber>NC B 0012-00000093</BillNumber>
<AmountOfBill>120.00</AmountOfBill>
</OfficialBill>
<POSEODSequenceNumber>43</POSEODSequenceNumber>
<FiscalControllerNumber>HHX1234567</FiscalControllerNumber>
<FiscalPOSNumber>0012</FiscalPOSNumber>

<!—Devolución -->
<LineItem>
<SequenceNumber>1</SequenceNumber>
<Return>
<ItemID>23214323</ItemID>
<ExtendedAmount>120.00</ExtendedAmount>
</Return>
</LineItem>
<!— Devolución pago con Tarjeta -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TypeCode="Refund">
<TenderID>"Visa"</TenderID>
<Amount>120.00</Amount>
</Tender>
</LineItem>
</RetailTransaction>
</Transaction>
</POSLog>


Detalle: efectivo



<!— Pago con efectivo y vuelto o cambio -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TenderType="Peso" TypeCode="Sale">
<Amount>300.00</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<ForeignCurrencyID>ARS</ForeignCurrencyID>
</Tender>
</LineItem>
<LineItem> <!— Vuelto o cambio -->
<SequenceNumber>3</SequenceNumber>
<TenderChange TenderType="Peso" TypeCode="Sale">
<Amount>10.00</Amount>
</TenderChange>
</LineItem>


Elemento

  • Atributos

Descripción

Tender



  • TenderType



  • TypeCode

Informa un medio de pago aceptado

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem (puede haber más de un elemento LineItem con detalle Tender en RetailTransaction).
  • Tipo de dato: n/a



    Informa cual es el medio de pago ( Efectivo, tarjeta, cheque, etc )
  • Opcional
  • Repetición = 1 por elemento Tender
  • Tipo de dato: caracteres (código del tender)



    Indica si es un pago entregado o recibido
  • Opcional
  • Tipo de dato: código
    • "Sale" : el pago lo hace el cliente
    • "Return": el pago lo recibe el cliente
  • Default : "Sale"

Amount

  • ForeignCurrencyID

  • ForeignCurrencyAmount
  • ExchangeRate

Informa el importe del medio de pago.

  • Requerido
  • Repetición = 1 por elemento Tender
  • Tipo de dato: decimal


    Informa la moneda si es distinta a la corriente
  • Opcional
  • Tipo de Dato: Código ISO4217 ( ver CurrencyCode.xsd )Ej: ARS


    Informa el importe en la moneda extranjera
  • Opcional
  • Tipo de dato:decimal


    Informa la cotización de la moneda extranjera
  • Opcional
  • Tipo de dato:decimal

TenderChange

Informa el vuelto

  • Opcional
  • Repetición: puede haber más de 1
  • Tipo de dato: n/a

Amount

  • ForeignCurrencyID


  • ForeignCurrencyAmount

  • ExchangeRate

Informa el importe del vuelto.

  • Requerido
  • Repetición = 1 por elemento TenderChange
  • Tipo de dato: decimal


    Informa la moneda si es distinta a la corriente
  • Opcional
  • Tipo de Dato: Código ISO4217 ( ver CurrencyCode.xsd )


    Informa el importe en la moneda extranjera
  • Opcional
  • Tipo de dato: decimal


    Informa la cotización de la moneda extranjera
  • Opcional
  • Tipo de dato:decimal

CustomerIDNumber

Informa el Nro de documento del cliente asociado al pago:

  • Opcional
  • Tipo de dato: string
    <CustomerIDNumber>1234-56-7890</CustomerIDNumber>




Detalle: efectivo moneda extranjera con cotización


<!— Pago con dolar (moneda extranjera) con vuelto combinado en moneda original y base -->
<LineItem>
<SequenceNumber>3</SequenceNumber>
<Tender TenderType="Dllr" TypeCode="Sale">
<Amount>805.50</Amount>
<ForeignCurrencyAmount>50.00</ForeignCurrencyAmount>
<CustomerIDNumber> </CustomerIDNumber>
<ForeignCurrencyID>USD</ForeignCurrencyID> <!— codigo ISO de moneda -->
<ExchangeRate>16.11</ExchangeRate> <!— cotización -->
</Tender>
</LineItem>
<LineItem>
<SequenceNumber>4</SequenceNumber>
<TenderChange TenderType="Dllr" TypeCode="Sale"> <!— Vuelto o cambio en moneda original -->
<Amount>644.40</Amount>
<ForeignCurrencyAmount>40.00</ForeignCurrencyAmount>
<ForeignCurrencyID>USD</ForeignCurrencyID> <!— codigo ISO de moneda -->
<ExchangeRate>16.11</ExchangeRate> <!— cotización -->
</TenderChange>
</LineItem>
<LineItem>
<SequenceNumber>5</SequenceNumber>
<TenderChange TenderType="Peso" TypeCode="Sale"> <!— Vuelto o cambio en moneda base -->
<Amount>53.10</Amount>
</TenderChange>
</LineItem>


Detalle: cheque



<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TenderType="Chck" TypeCode="Sale">
<Amount>110.00</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<EntryMethod>Keyed</EntryMethod>
<Bankcode>1111111111</Bankcode>
<CheckNumber>111111111</CheckNumber>
<CheckEmissionDate>2015-04-10 24:00:00</CheckEmissionDate>
<Account>1111111111</Account>
</Tender>
</LineItem>


Elemento

  • Atributos

Descripción

EntryMethod

Indica el método de ingreso del cheque (manual o por lectura desde la printer)

  • Repetición = 1 por elemento Tender
  • Tipo de dato: string

BankCode

Informa el banco emisor del cheque

  • Requerido
  • Tipo de dato: string

CheckNumber

Informa el nro de cheque

  • Requerido
  • Tipo de dato: string

CheckEmissionDate

Informa la fecha de emisión del cheque

  • Requerido
  • Tipo de dato: string

Account

Informa el Nro de cuenta asociado al cheque

  • Requerido
  • Tipo de dato: string




Detalle: Cobro de créditos propios


Informa los cobros de un crédito propio con número de cuenta o tarjeta asociada al crédito.
<LineItem>
<SequenceNumber>2</SequenceNumber>
< PaymentOnAccountLineItem>
< AccountCardNumber>22</ AccountCardNumber>
< AccountNumber>22</ AccountCardNumber>
<Amount>6.58</Amount>
</ PaymentOnAccountLineItem >
</LineItem>


Elemento

  • Atributos

Descripción

PaymentOnAccountLineItem

Informa un medio de cobro aceptado

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 por elemento LineItem (puede haber más de un elemento LineItem con detalle PaymentOnAccountLineItem en RetailTransaction).
  • Tipo de dato: n/a

AccountCardNumber

O

AccountNumber

Informa el Nro de cuenta del cliente asociado al pago o número de tarjeta

  • Opcional uno u otro, pudiéndose registrar el número de cuenta y/o tarjeta
  • Tipo de dato: string

    < AccountCardNumber>1111111111</AccountCardNumber>

Amount

Informa el importe del cobro.

  • Opcional
  • Repetición = 1 por elemento Tender
  • Tipo de dato: decimal. Se informa como positivo y se asume que resta del total.( si CancelFlag="true", resta del total )




Pago con tarjeta bancaria


Para pago con tarjeta bancaria, se requiere registrar datos adicionales propios del pago y su autorización.
Se enumeran y se adjunta un ejemplo.
<LineItem>
<SequenceNumber>9</SequenceNumber>
<Tender TenderType="Visa" TypeCode="Sale">
<Amount>102.85</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<EntryMethod>MSR</EntryMethod>
<Authorization ElectronicSignature="true" ForceOnline="true" HostAuthorized="true">
<RequestedAmount>102.85</RequestedAmount>
<AuthorizationCode>123456</AuthorizationCode>
<ReferenceNumber>123456789012</ReferenceNumber>
<MerchantNumber>11111111</MerchantNumber>
<ProviderID>Visa</ProviderID>
<AuthorizationDateTime>20150617174209 </AuthorizationDateTime>
<AuthorizingTermID>4</AuthorizingTermID>
</Authorization>
<CreditDebit CardType="Credit">
<PrimaryAccountNumber>************9994 </PrimaryAccountNumber>
<PlanID>1</PlanID>
<NumberOfInstallments>2</NumberOfInstallments>
</CreditDebit>
<PaymentCondition>2</PaymentCondition>
<Association TypeCode="Surcharge">
<SequenceNumber>2</SequenceNumber>
</Association>
</Tender>
</LineItem>


Elemento

  • Atributos

XML de ejemplo

Descripción


  • Amount
  • Surcharge
  • CustomerIDNumber
  • Entry method (MSR, keyed)
  • Authorization Information
    • ElectronicSignature
    • ForceOnline
    • RequestedAmount: monto del pago de la operacion de compra
    • AuthorizationCode : código de autorización, provisto en la respuesta de VTOL
    • ReferenceNumber: Nro de cupón, provista en respuesta de VTOL
    • MerchantNumber: Nro de comercio del centro emisor, provisto en respuesta de VTOL
    • ProviderId : emisor o canal que autoriza, provisto en la respuesta de VTOL
    • AuthorizationDateTime: fecha y hora de la transacción de pago
    • AuthorizationTermID: Nro de terminal del centro emisor, provisto en respuesta de VTOL
  • Credit Card Information - Card Type (credit/debit)
    • PrimaryAccountNumber: número de tarjeta (Enmascarado ej: "6 + **** + 4")
    • PlanID: Plan de pagos, campo PLAN_ID es lo informado en el campo 15 - plan - del mensaje a VTOL
    • NumberOfInstallments: Nro de cuotas, campo INSTALLMENTS es lo informado en el campo14 – payments - del mensaje a VTOL
  • PaymentCondition
  • Association – TypeCode=Surgharge: item de recargo
    • SecuenceNumber: número de secuencia del item de recargo

<Tender TenderType="Visa" TypeCode="Sale">
<Amount>102.85</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<EntryMethod>MSR</EntryMethod>


<Authorization ElectronicSignature="true" ForceOnline="true" HostAuthorized="true">
<RequestedAmount>102.85</RequestedAmount>

<AuthorizationCode>123456</AuthorizationCode>



<ReferenceNumber>123456789012</ReferenceNumber>

<MerchantNumber>11111111</MerchantNumber>



<ProviderID>Visa</ProviderID>




<AuthorizationDateTime>20150617174209 </AuthorizationDateTime>

<AuthorizingTermID>4</AuthorizingTermID>

</Authorization>

<CreditDebit CardType="Credit">

<PrimaryAccountNumber>************9994 </PrimaryAccountNumber>



<PlanID>1</PlanID>




<NumberOfInstallments>2</NumberOfInstallments>


</CreditDebit>


<PaymentCondition>2</PaymentCondition>

<Association TypeCode="Surcharge">

<SequenceNumber>2</SequenceNumber>
</Association>

Informa un pago con tarjeta bancaria




Pago con recargo


Un medio de pago puede encontrarse configurado con un porcentaje de recargo. Este recargo se calcula en base al monto del pago y se deja registro dentro de la transacción con el balanceo de un ítem del tipo misceláneo para compensar este recargo del pago.
En el lineItem del pago se dejará registro del lineItem correspondiente al ítem misceláneo del recargo con un tag association del tipo "recargo".
El medio de pago pudiera tener un recargo y además si el plan de pagos tuviera su recargo, se dejará registro de ambos recargos cada uno de ellos asociado al lineItem del misceláneo correspondiente.
             <LineItem>
                    <SequenceNumber>5</SequenceNumber>
                    <Tender TenderType="Cash" TypeCode="Sale">
                           <Amount>42.50</Amount>
                    </Tender>
                    <Association TypeCode="Surcharge">
                           <SequenceNumber>2</SequenceNumber>
                    </Association>
<Association TypeCode="Surcharge">
                           <SequenceNumber>3</SequenceNumber>
                    </Association>
             </LineItem>
 


Pago con nota de crédito


Se detallan aquellos datos requeridos para el registro de un pago con una nota de crédito
Una devolución que queda como crédito en tienda en lugar de devolver dinero al cliente. Puede ser utilizada como próximo medio de pago para una venta.
<!— Pago con nota de crédito dentro de una venta -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TenderType="NCC" TypeCode="Sale">
<Amount>108.00</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<ERP_NCCNumber>243</ERP_NCCNumber>
<BillNumber>1</BillNumber>
<NCCRetailStore/>
<NCCBalance>0.00</NCCBalance>
<ExpirationDate/>
<AmountOfBill>108.00</AmountOfBill>
</Tender>
</LineItem>


Elemento

  • Atributos

XML de referencia

Descripción

TenderType="NCC"

  • Amount
  • CustomerIDNumber
  • Nro. de nota de crédito <ERP_NCCNumber>
  • BillNumber
  • NCCRetailStore
  • NCCBalance


  • ExpirationDate
  • AmountOfBill

<Tender TenderType="NCC" TypeCode="Sale">

<Amount>108.00</Amount>

<CustomerIDNumber> </CustomerIDNumber>

<ERP_NCCNumber>243</ERP_NCCNumber>

<BillNumber>1</BillNumber>




<NCCRetailStore/>


<NCCBalance>0.00</NCCBalance>






<ExpirationDate/>

<AmountOfBill>108.00</AmountOfBill>

Informa un medio de pago del tipo nota de crédito

  • Amount: monto del pago
  • CustomerIDNumber: nro de cliente
  • Nro. de nota de crédito <ERP_NCCNumber>
  • BillNumber: Serie de la nota de crédito (este es un dato respondido por el servicio del ERP, corresponde a la letra del BillNumber)
  • NCCRetailStore (tienda de la Nota de crédito, en la cual fue generada)
  • Monto disponible (de la nota de crédito) <NCCBalance> (este campo no se envía como dato al ERP al informar las NCC utilizadas como pago, se registra para el caso en el cual la validación del medio de pago es sin el ERP)
  • Fecha de vigencia de la nota de crédito (este es un dato respondido por el servicio del ERP) <ExpirationDate>
  • Valor total (de la nota de crédito)<AmountOfBill>




Pago con tarjeta monedero o GiftCard


Se detallan aquellos datos requeridos para el registro de un pago con una tarjeta monedero o giftCard.


  • Nro. de tarjeta monedero o GiftCard o tipo < GiftCertificateID>
  • Monto del pago <Amount>
  • Saldo disponible <UnspentAmount> (este campo indica el saldo de la tarjeta monedero o GiftCard respondido por el sistema de validación externo)
  • Nro de tarjeta monedero o GiftCard <CardNumber> (nro legible de la tarjeta monedero o giftCard, pudiera coincidir con el ID)



<LineItem>
  <SequenceNumber>1</SequenceNumber>
<Tender TenderType="GiftCard" TypeCode="Sale">
  <GiftCertificateID>GiftCard</GiftCertificateID>
  <Amount>100.00</Amount>
  <UnspentAmount>50.00</UnspentAmount>
  <CardNumber>1234321</CardNumber>
</Tender>
</LineItem>
GiftCertificateTenderLineItem


Tag

Type

Definition

GiftCertificateTenderLineItem

structure

A type of TENDER LINE ITEM that records the specifics about a GIFT CERTIFICATE redeemed as part of settling a transaction.

Alternate Names

  • GiftCertificateTender
  • GiftCard
  • ElectronicTollCollection

GiftCertificateSerialNumber

string

The serial number that uniquely identifies a GIFT CERTIFICATE.

Alternate Names

  • GiftCertificateID

IssuingStoreNumber (optional)

string

A unique store number reference to identify the RETAIL STORE that issued the GIFT CERTIFICATE.

RetailTransactionLineItemSequenceNumber(PK) (FK)

string

The sequence number of line item within the context of this RetailTransaction.

TransactionID(PK) (FK)

string

A universally unique identifier (UUID) for the Transaction. This may be assembled from BusinessUnitID, WorkstationID, BusinessDayDate and SequenceNumber.

Alternate Names

  • LineItemSequenceNumber

UnspentAmount

decimal

The monetary value of the GiftCertificate / Voucher that has not been spent

CardNumber

string

The human readable number on the gift card being tendered.




Detalle: Recarga en monedero electrónico


Informa la recarga de una tarjeta monedero.


  • Tipo de tarjeta o giftCard <GiftCertificateID>
  • Nro de tarjeta/GiftCard <CardNumber>
  • Monto: importe correspondiente al pago con tarjeta monedero/giftCard <Amount>
  • Saldo: monto correspondiente al saldo disponible de la tarjeta luego de realizada la recarga <UnspentAmount>



<LineItem>
<SequenceNumber>2</SequenceNumber>
< PaymentOnAccountLineItem>
  <GiftCertificateID>GiftCard</GiftCertificateID>
  <Amount>100.00</Amount>
  <UnspentAmount>150.00</UnspentAmount>
  <CardNumber>1234321</CardNumber>
</PaymentOnAccountLineItem>
</LineItem>


Detalle: Recarga en monedero electrónico por aplicación de promoción


Informa la recarga de una tarjeta monedero pero con el escenario particular de haber sido aplicado por una promoción y no una recarga pagada con un determinado medio de pago.
Es por eso que se registra con un LineItem que no requerirá de una compensación de un TenderLineItem como la recarga normal. Se manejará como un tipo de LineItem: GiftCertificateLineItem.


  • Tipo de tarjeta o giftCard <GiftCertificateID>
  • Nro de tarjeta/GiftCard <CardNumber>
  • Promoción <PromotionID>
  • Monto: importe correspondiente a la recarga a la tarjeta monedero/giftCard <Amount>
  • Saldo: monto correspondiente al saldo disponible de la tarjeta luego de realizada la recarga <UnspentAmount>



<LineItem>
<SequenceNumber>2</SequenceNumber>
< GiftCertificate>
  <GiftCertificateID>GiftCard</GiftCertificateID>
<CardNumber>1234321</CardNumber> 
<PromotionID>PromoMonedero</PromotionID> 
<Amount>100.00</Amount>
  <UnspentAmount>150.00</UnspentAmount>
</GiftCertificate>
</LineItem>


Detalle: Impuestos (Tax a nivel producto)


A nivel producto dentro de un elemento <Sale> o <Return> se informan los impuestos propios de cada producto.
<!— Impuestos internos -->
<Tax TaxType="TAX" TypeCode="Sale">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>2</TaxAuthority>
<Amount>3.25</Amount><!— monto del impuesto interno -->
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">162.60</TaxableAmount><!— monto neto gravado -->
<Percent>2.00</Percent><!— porcentaje del impuesto interno-->
</Tax>
<!— Impuestos del item, IVA -->
<Tax TaxType="VAT" TypeCode="Sale">
<SequenceNumber>2</SequenceNumber>
<TaxAuthority>2</TaxAuthority>
<Amount>34.15</Amount><!— monto IVA -->
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">162.60</TaxableAmount><!— monto neto gravado -->
<Percent>21.00</Percent><!— porcentaje de IVA -->
</Tax>


Detalle: Impuestos (Tax a nivel ticket)


Informa los impuestos a nivel del ticket
<LineItem>
<SequenceNumber>9</SequenceNumber>
<Tax TaxType="IIBB" TaxSubType="IIBBSL">
<SequenceNumber>1</SequenceNumber>
<Amount>88.80</Amount><!— monto de percepción -->
<TaxableAmount>1776.00</TaxableAmount><!— monto neto gravado -->
<Percent>5.00</Percent><!— porcentaje de percepción -->
</Tax>
</LineItem>


Exención de un impuesto por certificado de liberación


Este caso específico se da para los certificados de exención que puede tener asociado un cliente para Ingresos Brutos (caso puntual de Argentina)
<!— Exención de percepción por certificado de eximición -->
<LineItem>
<SequenceNumber>12</SequenceNumber>
<Tax TaxType="IIBB" TaxSubType="1" TypeCode="Sale">
<Amount>3.29</Amount><!— monto de percepción con porcentaje de eximición aplicado del 50% para este cliente -->
<TaxableAmount>131.65</TaxableAmount>
<Percent>5.00</Percent>
<TaxOverride>
<OriginalTaxAmount>6.58</OriginalTaxAmount> <!— monto de percepción original -->
</TaxOverride>
</Tax>
</LineItem>


Elemento

  • Atributos

Descripción

Tax




  • TaxType










  • TaxSubType


  • TypeCode

Informa un impuesto

  • Excluyente con los otros tipos de detalle
  • Repetición = 1 / elemento LineItem (puede haber más de un elemento LineItem con detalle Tax en RetailTransaction). También puede presentarse sin límite dentro de un elemento Sale o Return
  • Tipo de dato: n/a


    Indica el tipo de impuesto
  • Opcional
  • Tipo de dato: código
    • "IIBB" : percepción Ingresos Brutos incluído en la transacción
    • "VAT": percepción IVA incluido en la transacción
    • "TASA": percepción municipal incluido en la transacción
    • "VAT": impuesto IVA incluído en el precio de los productos
    • "TAX": impuesto interno incluído en el precio de los productos


      Indica la regla aplicada al impuesto
  • Opcional
  • Tipo de dato: código



    Indica si es un impuesto pagado o recibido
  • Opcional
  • Tipo de dato: código
    • "Sale" : impuesto pagado
    • "Return": impuesto devuelto
  • Default : "Sale"

TaxAuthority

Identifica cual es el impuesto

  • Opcional
  • Repetición = 1 / elemento Tax
  • Tipo de dato: caracteres

Amount

Informa el importe del impuesto

  • Opcional
  • Repetición = 1 / elemento Tax
  • Tipo de dato: decimal

TaxableAmount

  • TaxIncludedInTaxableAmountFlag

Informa la base de cálculo del impuesto

  • Opcional
  • Repetición = 1 / elemento Tax
  • Tipo de dato: decimal


    Indica si el impuesto está o no incluído dentro de la base de cálculo
  • Requerido
  • Tipo de dato: booleano

TaxablePercentage

Informa el porcentaje del impuesto

  • Opcional
  • Repetición = 1 / elemento Tax
  • Tipo de dato: decimal

<TaxOverride>
<OriginalTaxAmount>106.80</OriginalTaxAmount>
</TaxOverride>

Informa monto original del impuesto en aquellos casos en los cuales se ha aplicado una exención sobre el impuesto que aplica según condición del cliente (taxCertificate)

  • Opcional
  • Repetición = 1 / elemento Tax
  • Tipo de dato: decimal



EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>SUC.02</RetailStoreID>
<WorkstationID>1</WorkstationID>
<SequenceNumber>15</SequenceNumber>
<BusinessDayDate>2007-03-21</BusinessDayDate>
<BeginDateTime>2007-03-21 07:25:59</BeginDateTime>
<EndDateTime>2007-03-21 07:27:13</EndDateTime>
<OperatorID>LUIS</OperatorID>
<RetailTransaction Version="2.2">
<!— - Factura A -->
<OfficialBill>
<BillNumber>FC A 0012-00000004</BillNumber>
<AmountOfBill>1896.00</AmountOfBill>
</OfficialBill>
<POSEODSequenceNumber>43</POSEODSequenceNumber>
<FiscalControllerNumber>HHX1234567</FiscalControllerNumber>
<FiscalPOSNumber>0012</FiscalPOSNumber>

<!—Venta del producto 11017 -->
<LineItem>
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>11017</ItemID>
<ExtendedAmount>1310.00</ExtendedAmount>
<!— Impuestos internos ( impuesto a nivel producto ( -->
<Tax TaxType="VAT">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>Internos</TaxAuthority>
<Amount>100.00</Amount>
</Tax>
<!— IVA ( impuesto a nivel producto ) -->
<Tax TaxType="VAT">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>IVA</TaxAuthority>
<TaxableAmount TaxIncludeInTaxableAmount="true">1210.00</TaxableAmount>
<TaxablePercentage>21</TaxablePercentage>
<Amount>200.00</Amount>
</Tax>
</Sale>
</LineItem>
<!—Venta del producto 11019 -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Sale>
<ItemID>11019</ItemID>
<ExtendedAmount>500.00</ExtendedAmount>
<!— IVA ( impuesto a nivel producto ) -->
<Tax TaxType="VAT">
<TaxAuthority>IVA</TaxAuthority>
<TaxablePercentage>0</TaxablePercentage>
</Tax>
</Sale>
</LineItem>
<!— Ingresos Brutos ( impuesto a nivel ticket ) -->
<LineItem>
<SequenceNumber>3</SequenceNumber>
<Tax>
<TaxAuthority>IngresosBrutos</TaxAuthority>
<TaxableAmount TaxIncludeInTaxableAmount="false">1500</TaxableAmount>
<TaxablePercentage>2.4</TaxablePercentage>
<Amount>36.00</Amount>
</Tax>
</LineItem>
<!— Percepción de IVA ( impuesto a nivel ticket) -->
<LineItem>
<SequenceNumber>4</SequenceNumber>
<Tax>
<TaxAuthority>Percpectión</TaxAuthority>
<TaxableAmount TaxIncludeInTaxableAmount="false">1000</TaxableAmount>
<TaxablePercentage>5</TaxablePercentage>
<Amount>50.00</Amount>
</Tax>
</LineItem>
</RetailTransaction>
</Transaction>
</POSLog>


Transacción de Presupuesto


Se basa en el modelo de CustomerOrderTransaction
<!— presupuesto o apartado -->
<CustomerOrderControlTransaction Version="2.2">
<TypeCode>Budget</TypeCode>
<SubTypeCode/>
<TypeID>3</TypeID>
<CurrencyCode>$</CurrencyCode>
<Recovered>false</Recovered>
<CustomerOrderVersion/>
<CustomerOrderStateCode>rpck</CustomerOrderStateCode>
<CustomerOrderTypeCode>ofp</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion/>
<CustomerOrderActualAvailabilityDate>2017-09-11 14:07:12</CustomerOrderActualAvailabilityDate>
<CustomerOrderPaymentPlanConfigCode/><!— presupuesto o apartado -->
<CustomerOrderInternalNumber>0001000001000257</CustomerOrderInternalNumber>
<!— datos de entrega del presupuesto -->
<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-11 14:07:12</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-18 14:07:20</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode>
<!— Line items de productos -->
<LineItem EntryMethod="Keyed">
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>78</ItemID>
<KitIndicator>true</KitIndicator>
<ComponentIndicator>false</ComponentIndicator>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>96.89</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>VGCo-PS3G</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>58.00</RegularSaleUnitPrice>
<ActualUnitPrice>58.00</ActualUnitPrice>
<ExtendedAmount>58.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>
<GiftReceiptFlag/>
<RetailTransactionDiscount>
<Amount>0.00</Amount>
<Percent>0.00</Percent>
</RetailTransactionDiscount>
<Tax TaxType="TAX" TypeCode="Sale"><!— impuestos internos del producto ->
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>4</TaxAuthority>
<Amount>3.35</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">58.00</TaxableAmount>
<Percent>5.78</Percent>
</Tax>
<Tax TaxType="VAT" TypeCode="Sale"> <!— iva del producto -->
<SequenceNumber>2</SequenceNumber>
<TaxAuthority>2 </TaxAuthority>
<Amount>9.48</Amount>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">45.17</TaxableAmount>
<Percent>21.00</Percent>
</Tax>
<Reserved>false</Reserved> <!— si el producto fue reservado o no -->
</Sale>
</LineItem>
<LineItem>
<SequenceNumber>2</SequenceNumber>
<TotalLine>
<GrossPositiveAmount>58.00</GrossPositiveAmount>
<GrossNegativeAmount>0.00</GrossNegativeAmount>
<PaidAmount>0.00</PaidAmount>
<PendingAmount>58.00</PendingAmount>
</TotalLine>
</LineItem>
<LineItem>
<SequenceNumber>3</SequenceNumber> <!— Datos del cliente -->
<CustomerInformation TypeCode="NA">
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationName</Id>
<Value>Perez, Juan </Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>
<!— datos del cliente -->
</CustomerInformation>
</LineItem>
<!— totales del presupuesto-->
<Total TotalType="TransactionGrossPositiveAmount" CancelFlag="false">58.00</Total>
<Total TotalType="TransactionGrossNegativeAmount" CancelFlag="false">0.00</Total>
<Total TotalType="TransactionTaxAmount" CancelFlag="false">12.83</Total>
<Total TotalType="TransactionManualDiscount" CancelFlag="false">0.00</Total>
<Total TotalType="TransactionAutomaticDiscount" CancelFlag="false">0.00</Total>
<Total TotalType="TransactionTotalDiscount" CancelFlag="false">0.00</Total>
<Total TotalType="TransactionPercentageDiscount" CancelFlag="false">0.00</Total>
<Total TotalType="TransactionNetAmount" CancelFlag="false">58.00</Total>
<Total TotalType="TransactionGrossAmount" CancelFlag="false">58.00</Total>
<Total TotalType="TransactionPurchaseAmount" CancelFlag="false">58.00</Total>
<Total TotalType="CustomerOrderTotal">58.00</Total>
<RingElapsedTime>0</RingElapsedTime>
<TenderElapsedTime>0</TenderElapsedTime>
<LockElapsedTime>0</LockElapsedTime>
</CustomerOrderControlTransaction>


Elemento

  • Atributos

Descripción

POSLog

Informa que es un registro del Transaccional

  • Requerido
  • Repetición = 1 por registro
  • Tipo de dato: n/a

Transaction

Informa que se está registrando una transacción

  • Requerido
  • Repetición = 1 por elemento POSLog
  • Tipo de dato: n/a

RetailStoreID

Informa la identificación del local

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

WorkstationID

informa la identificación de la Terminal

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

SequenceNumber

informa el número de transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BusinessDayDate

informa la fecha contable en la cual se registra esta transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha (aaaa-mm-dd)

BeginDateTime

informa la fecha y hora de inicio en que se realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

EndDateTime

informa la fecha y hora de finalización de la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

OperatorID

informa la identificación del operador que realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

OriginalTransaction

Informa la transacción original serializada

  • Requerido
  • Repetición = 1 por elemento Transaction

CustomerOrderControlTransaction

  • Version

Informa que la transacción es un presupuesto o apartado

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

TypeCode

<TypeCode>Budget</TypeCode>

Informa el tipo de transacción

  • Requerido
  • Repetición = 1 por elemento CustomerOrderControlTransaction
    Tipo de dato: caracteres (ej: Budget)

Subtype

</SubTypeCode>

Subtipo de transacción

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres
    Para el listado de valores posibles ver Anexo tipo de transacciones

TypeID

<TypeID>3</TypeID>

ID del tipo de transacción
Requerido

  • Requerido
  • Repetición = 1 por elemento RetailTransaction
    Tipo de dato: int (ej: 1,2,3,4. Estos valores corresponden al tipo RetailTransaction, ControlTransaction,TenderControlTransaction, UpdateCustomerOrder)

<CurrencyCode>$</CurrencyCode>

Moneda del presupuesto

<Recovered>false</Recovered>

Si fue recuperado el presupuesto

<CustomerOrderVersion/>
<CustomerOrderStateCode>rpck</CustomerOrderStateCode>
<CustomerOrderTypeCode>ofp</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion/>
<CustomerOrderActualAvailabilityDate>2017-09-11 12:48:15</CustomerOrderActualAvailabilityDate>
<CustomerOrderPaymentPlanConfigCode/>
<CustomerOrderInternalNumber>0001000001000254</CustomerOrderInternalNumber>

Datos del presupuesto

  • Versión del presupuesto
  • Estado (listo para entregar, etc)
  • Tipo de presupuesto
  • Versión del mapa de Promo
  • Fecha de disponibilidad
  • Plan de pagos (para apartados)
  • Nro de presupuesto

<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-11 12:48:15</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-18 12:48:26</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode>

Datos de entrega (se utiliza en pedidos no en presupuestos)

  • Persona de contacto
  • Código de cliente
  • Dia de entrega
  • Precio de flete
  • Turno de entrega
  • Moneda
  • Fecha de creación
  • Fecha estimada de entrega
  • Tienda de retiro

Reserved

Informa si existe una reserva en la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: 1=SI; 2=NO

LineItem

  • CancelFlag

Informa una línea de detalle de la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a


    Indica que esta línea de detalle es una Anulación
  • Opcional
  • Tipo de dato: booleano
  • Default="false"

SequenceNumber

Identifica cada línea de detalle de la transacción

  • Requerido
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: entero ( Cada elemento LineItem de RetailTransaction debe contener un número distinto)

Detalle

Cada elemento LineItem contiene uno y solo un elemento de detalle que depende del tipo de detalle. Vamos a considerar los siguientes:

  • Sale
  • Return
  • Discount
  • Tender
  • Tax
  • Datos del customer

    <CustomerInformation TypeCode="NA"></CustomerInformation>




TotalLine
 
 
 
-       GrossPositiveAmount
-       GrossNegativeAmount
-       PaidAmount
-       PendingAmount

<LineItem>
<SequenceNumber>3</SequenceNumber>
<TotalLine>
<GrossPositiveAmount>50.00</GrossPositiveAmount>
<GrossNegativeAmount>0.00</GrossNegativeAmount>
<PaidAmount>0.00</PaidAmount>
<PendingAmount>50.00</PendingAmount>
</TotalLine>
</LineItem>
<LineItem>

Informa totales de la transacción de presupuesto en cuanto a pagos o pendientes.
-       Tipo de dato: decimal
 
Indica cual es el total que se está informando
-       Tipo de dato: caracteres
 
-       "GrossPositiveAmount":
o   monto total acumulado de productos
-       "GrossNegativeAmount":
o   monto total acumulado de productos anulados
-       PaidAmount (monto pagado, no aplica a presupuesto sino a apartados)
-       PendingAmount (monto pendiente de pago, no aplica a presupuesto sino a apartados)
 

Total

  • TotalType
  • CancelFlag (no se utiliza)



    <Total TotalType="TransactionGrossPositiveAmount" CancelFlag="false">50.00</Total>

Informa un total de la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: decimal


    Indica cual es el total que se está informando
  • Opcional
  • Tipo de dato: caracteres


    Otros tipos de totales (RetailTransactionTotalType)
  • "TransactionGrossPositiveAmount":
    • monto total acumulado de productos vendidos (sin descuentos) si es una venta.
    • monto total acumulado de productos anulados (sin descuentos) si es una devolución o si es una transacción de cambio
  • "TransactionGrossNegativeAmount":
    • monto total acumulado de productos anulados (sin descuentos) si es una venta.
    • monto total acumulado de productos devueltos (sin descuentos) si es una devolución o si es una transacción de cambio.
  • "TransactionTaxAmount": total acumulado de impuestos internos de los ítems + iva (no acumula los impuestos de clientes, percepciones)
  • "TransactionManualDiscount": total acumulado de descuentos manuales de los ítems y de la transacción
  • "TransactionAutomaticDiscount": total acumulado de descuentos automáticos de todos los ítems y de la transacción aplicados por promoción (Promo)
  • "TransactionTotalDiscount": monto acumulado de todos los descuento a nivel ítem + los descuentos a nivel transacción.
  • "TransactionPercentageDiscount": porcentaje promedio calculado en base al descuento total sobre el monto total de la transacción  (ej: descuento acumulado 50.- , total de la transacción 1000.- Porcentaje de descuento promedio= 5%)
  • "TransactionNetAmount": monto acumulado total de artículos vendidos – los artículos anulados – los descuentos aplicados (incluyendo servicios, recargos, etc)
  • "TransactionGrossAmount": bruto positivo menos bruto negativo. No acumula los impuestos del cliente (percepciones)
  • "TransactionPurchaseAmount": monto total acumulado de los artículos vendidos menos los artículos anulados (con descuentos aplicados). No debe incluir servicios o recargos. No acumula los impuestos del cliente (percepciones)

Tiempo ingreso de articulos

  • RingElapsedTime

Informa:

  • El tiempo total transcurrido entre el ingreso de un producto hasta el inicio del pago.

Tiempo ingreso de medios de pago

  • TenderElapsedTime

Informa:

  • El tiempo total transcurrido desde que el cajero intenta ingresar el primer pago hasta que finaliza o cancela la transacción

Tiempo de POS bloqueado

  • LockElapsedTime

Informa:

  • El tiempo total transcurrido en el que el cajero bloquea la sesión hasta su desbloqueo.

EJ

<EJ/>

Datos guardados para el Electronic Journal. Ver Anexo auditoria y EJ

Audit

<Audit/>

Datos guardados para Auditoria. Ver Anexo auditoria y EJ




Ejemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Transaction CancelFlag="false" VoidedFlag="false" SuspendedFlag="false" TrainingModeFlag="False" OfflineFlag="false" >
<RetailStoreID>1</RetailStoreID>
<WorkstationID>4</WorkstationID>
<TillID>22</TillID> (Nota: SALE01)
<SequenceNumber>44</SequenceNumber>
<BusinessDayDate>2010-02-23 15:00</BusinessDayDate>
<Period>1</Period
<Subperiod>1</ Subperiod>
<BeginDateTime>2010-02-23 15:00</BeginDateTime>
<EndDateTime>2010-02-23 15:22</EndDateTime>
<OperatorID>111</OperatorID>
<CustomerOrder Version="2.2"><OfficialBill/>
<LineItem>
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>7798108348911</ItemID>
<POSItemID>1111</ POSItemID>
< ItemType>Stock</ ItemType>
<MerchandiseHierarchy Level="Department">27</MerchandiseHierarchy>
<Quantity UnitOfMeasumereCode="GRM">1.0</Quantity>
<RegularSaleUnitPrice UnitOfMeasumerentCode="GRM">2500.00</RegularSaleUnitPrice>
<SellUnitPriceEntryMethodCode>PriceLookup</SellUnitPriceEntryMethodCode>
<RetailPriceModifier MethodCode="PriceOverride">
<SequenceNumber>1</SequenceNumber>
<Amount Action="Substract">150.00</Amount>
<Percent Action="Substract">20.00</ Percent >
<ReasonCode>DM</ReasonCode>
</RetailPriceModifier>
<ExtendedAmount>2500.00</ExtendedAmount>
<EntryMethodCode>Keyed</EntryMethodCode>
</Sale>
<Tax TaxType="TAX" TypeCode="Sale">
<SequenceNumber>1</SequenceNumber>
<TaxAuthority>Internos</TaxAuthority>
<Amount>0.25</Amount>
<SequenceNumber>1</SequenceNumber>
</Tax>
<Tax TaxType="TAX" TypeCode="Sale">
<TaxAuthority>Internos</TaxAuthority>
<Amount>0.11</Amount>
</Tax>
<Tax taxType="VAT" TypeCode="Sale">
<SequenceNumber>2</SequenceNumber>
<TaxAuthority>IVA 21%</TaxAuthority>
<TaxableAmount TaxIncludedInTaxableAmountFlag="true">4.25</TaxableAmount>
<Amount>0.89</Amount>
<Percent>21.00</ Percent>
</Tax>
</LineItem>
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Sale>
<ItemID>1796</ItemID>
<Quantity UnitOfMeasumereCode="GRM">2.0</Quantity>
<RegularSaleUnitPrice UnitOfMeasumerentCode="GRM">4.50</RegularSaleUnitPrice>
<RetailPriceModifier MethodCode="PriceOverride">
<SequenceNumber>1</SequenceNumber>
<Percent Action="Substract">10.00</Percent>
<ReasonCode>DM</ReasonCode>
</RetailPriceModifier>
<ExtendedAmount>4.50</ExtendedAmount>
<EntryMethodCode>Scanned</EntryMethodCode>
</Sale>
</LineItem>
<LineItem VoidFlag="true">
<SequenceNumber>3</SequenceNumber>
<Sale>
<ItemID>1796</ItemID>
<Quantity UnitOfMeasumereCode="GRM">1.0</Quantity>
<ItemLink>2</ItemLink>
<RegularSaleUnitPrice UnitOfMeasumerentCode="GRM">4.50</RegularSaleUnitPrice>
<RetailPriceModifier MethodCode="PriceOverride">
<SequenceNumber>1</SequenceNumber>
<Percent Action="Substract">10.00</Percent>
<ReasonCode>DM</ReasonCode>
</RetailPriceModifier>
<ExtendedAmount>4.50</ExtendedAmount>
<EntryMethodCode>Scanned</EntryMethodCode>
</Sale>
</LineItem>
<LineItem>
<SequenceNumber>4</SequenceNumber>
<Tender>(Opcional)
<Tender TenderType="Visa" TypeCode="Sale">
<TenderAccountNumber>123456******7890</ TenderAccountNumber>
<Date>2010-02-23 15:22</Date>
<Amount>40.00</Amount>
< ForeignCurrencyID>5< ForeignCurrencyID/>
ForeignCurrencyAmount>10.00<ForeignCurrencyAmount/>
<ExchangeRate>4.0000<ExchangeRate/> <!—Base Currency / ForeignCurrency>
</Tender>(Opcional)
</LineItem>
<LineItem>
<SequenceNumber>5</SequenceNumber>
<Tender> (Opcional)
<Tender TenderType="Cash" TypeCode="Sale">
<Date>2010-02-23 15:22</Date>
<Amount>200.00</Amount>
< ForeignCurrencyID>5< ForeignCurrencyID/>
ForeignCurrencyAmount>50.00<ForeignCurrencyAmount/>
<ExchangeRate>4.0000<ExchangeRate/> <!—Base Currency / ForeignCurrency>
<TenderChange TenderType="Cash">
<Amount>8.00</Amount>
< ForeignCurrencyID>5< ForeignCurrencyID/>
ForeignCurrencyAmount>2.00<ForeignCurrencyAmount/>
<ExchangeRate>4.0000<ExchangeRate/>
</TenderChange>
</Tender> (Opcional)
</LineItem>
<LineItem>
<SequenceNumber>6</SequenceNumber>
<Tender>
<Tender TenderType="Cash" TypeCode="Sale">
<Date>2010-02-23 15:22</Date>
<Amount>200.00</Amount>
<TenderChange TenderType="Cash">
<Amount>5.11</Amount>
</TenderChange>
</Tender>
</LineItem>
<LineItem>
<SequenceNumber>7</SequenceNumber>
<Tax TaxType="Gross Income" TaxSubType="Multipart Agreement">
<TaxableAmount TaxIncludedInTaxableAmountFlag="false">2354.05</TaxableAmount>
<Amount>70.62</Amount>
<Percent>3.00</Percent>
</Tax>
</LineItem>
<LineItem>
<SequenceNumber>8</SequenceNumber>
<Discount>
<BaseAmount>2500.00</BaseAmount>
<Amount>10.00</Amount>
</Discount>
</LineItem>
<LineItem>
<SequenceNumber>9</SequenceNumber>
<Discount>
<BaseAmount>2490.00</BaseAmount>
<Percentage>15.00</Percentage>
<Amount>373.50</Amount>
</Discount>
</LineItem>
<Total>2354.05</Total>
</CustomerOrder>
</Transaction>


Transacciones de no venta


Informa los tipos de transacciones de no venta, como son el retiro, la dotación, arqueo, informe de medios de pago, apertura del cajón de dinero y cambio de valores.
EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>145</RetailStoreID>
<WorkstationID>5</WorkstationID>
<SequenceNumber>295</SequenceNumber>
<BusinessDayDate>2006-12-05</BusinessDayDate>
<BeginDateTime>2006-12-05 09:56:17</BeginDateTime>
<EndDateTime>2006-12-05 09:56:30</EndDateTime>
<OperatorID>102</OperatorID>
<PeriodID>2104</PerioID>
<Shift>1</Shift>
<LockElapsedTime>00.30</ LockElapsedTime>
<TenderControlTransaction Version="2.2">
<!— - Dotación -->
<TenderLoan TenderType="Cash">
<Totals>
<Amount>1000.00</Amount>
</Totals>
</Tender Loan>
</TenderLoan>
ó
<!— - Retiro -->
<TenderPickup >
<!-- this is the total by tender type -->
<Tender TenderType="Cash" > 300.00 </Tender>
<Tender TenderType="Visa" > 1400.00 </Tender>
<!-- this is the total of all tenders for this pickup -->
<Totals>
<Amount>1700.00</Amount>
</Totals>
</TenderPickup>
ó
<!— - Arqueo -->
<TenderCount >
<!-- this is the total by tender type -->
<Tender TenderType="Cash" > 300.00 </Tender>
<Tender TenderType="Visa" > 1400.00 </Tender>
<!-- this is the total of all tenders for this pickup -->
<Totals>
<Amount>1700.00</Amount>
</Totals>
</TenderCount>

ó
<!— - Cambio de valores -->
<TenderCorrection>
<Tender TypeCode="Refund">
<TenderID>Cash</TenderID>
<Amount>120.00</Amount>
</Tender>
<Tender>
<TenderID>Visa</TenderID>
<Amount>120.00</Amount>
</Tender>
</TenderCorrection>


</TenderControlTransaction>
</Transaction>
<POSLog>
<?xml version="1.0" encoding="UTF-8"?>
<POSLog>
<Transaction>
<RetailStoreID>145</RetailStoreID>
<WorkstationID>5</WorkstationID>
<SequenceNumber>296</SequenceNumber>
<BusinessDayDate>2006-12-05</BusinessDayDate>
<BeginDateTime>2006-12-05 09:56:17</BeginDateTime>
<EndDateTime>2006-12-05 09:56:30</EndDateTime>
<OperatorID>102</OperatorID>
<PeriodID>2104</PerioID>
<Shift>1</Shift>
<ControlTransaction Version="2.2">
<OpenCashDrawer/>
ó
<TenderListReport/>

</ControlTransaction>
</Transaction>
<POSLog>


Elemento

  • Atributos

Descripción

TenderControlTransaction

  • Version

Informa que la transacción es de no Venta

  • Excluyente con RetailTransaction y ControlTransaction
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

Dotación


TenderLoan




TenderType

Informa que es una transacción de dotación

  • Excluyente con otros tipos
  • Repetición = 1 por elemento TenderControlTransaction
  • Tipo de dato: n/a


    Indica cual es el tipo del medio de pago
  • Requerido
  • Tipo de dato: caracteres

    Nota: solo se permite un medio de pago por transacción

Amount

  • Currency
  • ForeignAmount

Informa el monto correspondiente al medio de pago de la dotación.

  • Requerido
  • Repetición = 1 por elemento Totals
  • Tipo de dato: Decimal


    Informa la moneda del monto indicado.
  • Opcional
  • Tipo de dato: ver CurrencyCode.xsd


    Informa el monto en la moneda extranjera
  • Opcional
  • Tipo de dato: Decimal

Totals

Informa el total correspondiente a la operación de dotación.

  • Requerido
  • Repetición = 1 por elemento TenderLoan
  • Tipo de dato: n/a




Retiro


TenderPickup

Informa que es una transacción de retiro

  • Excluyente con otros tipos
  • Repetición = 1 por elemento TenderControlTransaction
  • Tipo de dato: n/a

Tender

  • TenderType

  • Denomination

Informa un medio de pago que se ha retirado

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: decimal, informa el importe retirado


    Indica cual es el tipo del medio de pago
  • Requerido
  • Tipo de dato: string



    Indica cual es la denominación dentro del medio de pago
  • Opcional
  • Tipo de dato: string

Amount

  • Currency
  • ForeignAmount

Informa el monto correspondiente a la transacción de retiro.

  • Requerido
  • Repetición = 1 por elemento Totals
  • Tipo de dato: Decimal


    Informa la moneda del monto indicado.
  • Opcional
  • Tipo de dato: ver CurrencyCode.xsd


    Informa el monto en la moneda extranjera
  • Opcional
  • Tipo de dato: Decimal

Totals

Informa el total correspondiente a la transacción de retiro.

  • Opcional
  • Repetición = 1 por elemento TenderPickup
  • Tipo de dato: n/a




Arqueo


TenderCount

Informa que es una transacción de arqueo

  • Excluyente con otros tipos
  • Repetición = 1 por elemento TenderControlTransaction
  • Tipo de dato: n/a

Tender

  • TenderType
  • Denomination

Informa un medio de pago que se ha arqueado

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: decimal, informa el importe contado


    Indica cual es el tipo del medio de pago
  • Requerido
  • Tipo de dato: string


    Indica cual es la denominación dentro del medio de pago
  • Opcional
  • Tipo de dato: string

Totals

Informa el total correspondiente a la transacción de arqueo.

  • Opcional
  • Repetición = 1 por elemento TenderCount
  • Tipo de dato: n/a

Amount

  • Currency
  • ForeignAmount

Informa el monto correspondiente a la transacción de arqueo.

  • Requerido
  • Repetición = 1 por elemento Totals
  • Tipo de dato: Decimal


    Informa la moneda del monto indicado.
  • Opcional
  • Tipo de dato: ver CurrencyCode.xsd


    Informa el monto en la moneda extranjera
  • Opcional
  • Tipo de dato: Decimal




Cambio de valores


TenderCorrection

Informa que es una transacción de cambio de valores

  • Excluyente con otros tipos
  • Repetición = 1 por elemento TenderControlTransaction
  • Tipo de dato: n/a

Tender

  • TypeCode

Indica pago entregado o recibido

  • Opcional
  • Repetición sin límite
  • Tipo de dato: n/a


    Indica si el pago es entregado o recibido
  • Opcional
  • Tipo de dato: código
    • "Sale" : pago recibido del cliente
    • "Refund": pago entregado al cliente
  • Default : "Sale"


    Nota: el detalle es el mismo que el elemento Tender de LineItem de RetailTransaction

ControlTransaction


  • Version

Informa que la transacción es de control

  • Excluyente con otros tipos ( RetailTransaction, TenderControlTransaction )
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

OpenCashDrawer

Informa que el operador abrió el cajón

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a

TenderListReport

Informa que el operador requirió un listado de pagos

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a




SignOn, SignOff


<!— Inicio de sesión/SignOn -->
<PosLog xmlns:lxslt="http://xml.apache.org/xslt">
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>100</RetailStoreID>
<WorkstationID>1</WorkstationID>
<TillID>4</TillID>
<TillType>Operator</TillType>
<SequenceNumber>237</SequenceNumber>
<BusinessDayDate>2017-09-07</BusinessDayDate>
<Period>11</Period>
<Subperiod>12</Subperiod>
<BeginDateTime>2017-09-11 10:28:49</BeginDateTime>
<EndDateTime>2017-09-11 10:28:49</EndDateTime>
<OperatorID>andrea</OperatorID>
<ControlTransaction Version="2.2">
<TypeCode>SignOn</TypeCode>
<SubTypeCode/>
<TypeID>15</TypeID>
<SignOn>
<LastUserLogin>2017-09-11 10:28:49</LastUserLogin>
</SignOn>
</ControlTransaction>
<LockElapsedTime>0</LockElapsedTime>
</Transaction>
<EJ/>
<Audit/>
</PosLog>
<!— Fin de sesión/SignOff -->
<ControlTransaction Version="2.2">
<TypeCode>SignOff</TypeCode>
<SubTypeCode/>
<TypeID>16</TypeID>
<SignOff>
<BeginDateTime>2017-09-11 10:28:50</BeginDateTime>
<EndDateTime>2017-09-11 10:44:03</EndDateTime>
</SignOff>
</ControlTransaction>


Elemento

  • Atributos

Descripción

POSLog

Informa que es un registro del Transaccional

  • Requerido
  • Repetición = 1 por registro
  • Tipo de dato: n/a

Transaction

Informa que se está registrando una transacción

  • Requerido
  • Repetición = 1 por elemento POSLog
  • Tipo de dato: n/a

RetailStoreID

Informa la identificación del local

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

WorkstationID

informa la identificación de la Terminal

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

SequenceNumber

informa el número de transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BusinessDayDate

informa la fecha contable en la cual se registra esta transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha (aaaa-mm-dd)

BeginDateTime

informa la fecha y hora de inicio en que se realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

EndDateTime

informa la fecha y hora de finalización de la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

OperatorID

informa la identificación del operador que realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

ControlTransaction


  • Version

Informa que la transacción es de control

  • Excluyente con otros tipos ( RetailTransaction, TenderControlTransaction )
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

TypeCode

<TypeCode>SignOff</TypeCode>

Informa el tipo de transacción

  • Requerido
  • Repetición = 1 por elemento ControlTransaction
    Tipo de dato: caracteres (ej: SignOff, SignOn)

Subtype

</SubTypeCode>

Subtipo de transacción

  • Requerido
  • Repetición = 1 por elemento ControlTransaction
  • Tipo de dato: caracteres
  • N/A para signOn/signOff

TypeID

<TypeID>1</TypeID>

ID del tipo de transacción
Requerido

  • Requerido
  • Repetición = 1 por elemento ControlTransaction
    Tipo de dato: int



OperatorSignOff / OperatorSignOn

Informa que se ha realizado una operación de Sign off / on del operador

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a

Tiempo de Operador de una Terminal

  • BeginDateTime/ EndDateTime

Informa el tiempo transcurrido desde el inicio de sesión hasta el cierre de sesión

  • Se debe capturar el signOn del operador y el signOff
  • Solo en SignOff

LastUserLogin

Fecha y hora del ultimo login, utilizado para validaciones de bloqueos o cambios de clave (solo en SignOn)




Inicio de terminal (período)



<!— Inicio de período / POSSOD : POS start of date -->
<ControlTransaction Version="2.2">
<TypeCode>POSSOD</TypeCode>
<SubTypeCode/>
<TypeID>28</TypeID>
<POSSOD>2017-09-11 11:48:55</POSSOD>
<FiscalPOSNumber>0001</FiscalPOSNumber>
</ControlTransaction>
</Transaction>
<EJ/>
<Audit/>
</PosLog>


Elemento

  • Atributos

Descripción

POSSOD

Informa que se ha realizado una operación de Inicio de período en la terminal

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a

FiscalPOSNumber

Informa el nro de punto de venta o centro emisor

  • 1 por elemento ControlTransaction
  • Tipo de dato: char



Nota: Se mantendrá la misma estructura que el cierre de terminal (periodo) cambiándose el TAG POSEOD por POSSOD (POS start of day)


Cierre de terminal (período)



<!— Fin del período / POSEOD : POS end of date -->
<ControlTransaction Version="2.2">
<TypeCode>BusinessEOD</TypeCode>
<TypeID>47</TypeID>
<POSEOD>2017-09-07 18:22:47</POSEOD>
</ControlTransaction>
</Transaction>


Elemento

  • Atributos

Descripción

ControlTransaction


  • Version

Informa que la transacción es de control

  • Excluyente con otros tipos ( RetailTransaction, TenderControlTransaction )
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

POSEOD

Informa que se ha realizado una operación de Cierre de período en la terminal

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a



Nota: el operador no será un dato requerido ya que este tipo de control transaction será ejecutada automáticamente por el POS al detectar que el BridgeManager se encuentra en proceso de cierre de período.


Cierre Z


En el caso de Argentina se requiere registrar una serie de datos para el cierre diario Z (ver Cierre Z para legislación tributaria de Argentina)
-<POSLog>
<Transaction>
  <RetailStoreID>1</RetailStoreID>
  <WorkstationID>4</WorkstationID>
  <SequenceNumber>34</SequenceNumber>
  <BusinessDayDate>2010-03-31 12:56</BusinessDayDate>
  <BeginDateTime>2010-03-31 12:56</BeginDateTime>
  <EndDateTime>2010-03-31 12:56</EndDateTime>
  <OperatorID>111</OperatorID>
<CancelFlag>false</CancelFlag>
<FiscalControllerNumber>20938494859493</FiscalControllerNumber>
<FiscalPOSNumber>0012</FiscalPOSNumber>
- <ControlTransaction Version="2.2">
  <POSEOD>
<POSEODSequenceNumber>98765</POSEODSeguenceNumber>
<LastTransactionSequenceNumber DocumentType="Ticket">123456</LastTransactionSequenceNumber>
<LastTransactionSequenceNumber DocumentType="Invoice" Serie = "B">552233</LastTransactionSequenceNumber>
<LastTransactionSequenceNumber DocumentType="Invoice" Serie = "A">112233</LastTransactionSequenceNumber>
<LastTransactionSequenceNumber DocumentType="CreditNote" Serie "B">002233</LastTransactionSequenceNumber>
<TransactionCount DocumentType="CancelledFiscalDocument">5</TransactionCount>
<TransactionCount DocumentType="NonFiscalDocument">30</TransactionCount>
<TransactionCount DocumentType="Ticket">300</TransactionCount>
<Total TotalType="GrossPositiveAmount">35500.00</Total>
<Total TotalType="TaxAmount">5500.00</Total>
<Total TotalType="SpecialTaxAmount">690.00</Total>
<Total TotalType="WithHoldingTaxAmount">350.00</Total>
<Total TotalType="CreditNoteTotalAmount">1000.00</Total>
<Total TotalType="CreditNoteVATAmount">174.00</Total>
<Total TotalType="CreditNoteSpecialTaxAmount">15.00</Total>
<Total TotalType="CreditNoteWithHoldingTaxAmount">35.00</Total>
</POSEOD>
  </ControlTransaction>
 </Transaction>
</POSLog>


Elemento

  • Atributos

Descripción

POSLog

Informa que es un registro del Transaccional

  • Requerido
  • Repetición = 1 por registro
  • Tipo de dato: n/a

Transaction

Informa que se está registrando una transacción

  • Requerido
  • Repetición = 1 por elemento POSLog
  • Tipo de dato: n/a

RetailStoreID

Informa la identificación del local

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

WorkstationID

informa la identificación de la Terminal

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

SequenceNumber

informa el número de transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BusinessDayDate

informa la fecha contable en la cual se registra esta transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha (aaaa-mm-dd)

BeginDateTime

informa la fecha y hora de inicio en que se realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

EndDateTime

informa la fecha y hora de finalización de la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

OperatorID

informa la identificación del operador que realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

ControlTransaction


  • Version

Informa que la transacción es de control

  • Excluyente con otros tipos ( RetailTransaction, TenderControlTransaction )
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

FiscalControllerNumber

Informa el número de serie de la impresora fiscal

  • Opcional
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: caracteres

FiscalPOSNumber

Informa el centro emisor

  • Opcional
  • Repetición = 1 por elemento RetailTransaction
  • Tipo de dato: número entero

POSEOD

Informa que se ha realizado una operación de cierre Z en la terminal(POS end of date)

  • Excluyente con otros tipos de transacciones de control
  • 1 por elemento ControlTransaction
  • Tipo de dato: n/a

POSEODSequenceNumber

Nro de cierre Z

LastTransactionSequenceNumber

  • DocumentType


  • Serie

Informa el último nro del ticket que se ha realizado previo al cierre Z en la terminal(POS end of date)

  • Requerido
  • n por elemento POSEOD
  • Tipo de dato: n/a


    Indica el tipo de comprobante (ej: ticket, invoice, creditNote)
  • Requerido
  • Tipo de dato: string


    Indica la letra correspondiente al tipo de comprobante (ej: A, B, C)

TransactionCount

  • CancelledFiscalDocument
  • NonFiscalDocument
  • Ticket

Indica la cantidad de transacciones emitidas

  • Requerido
  • n por elemento POSEOD
  • Tipo de dato: n/a

Totals



  • Totaltype

Informa el total de acumulado de ventas e impuestos

  • Requerido
  • Repetición = sin límite
  • Tipo de dato: decimal, informa el importe acumulado correspondiente a la venta y sus impuestos


    Indica cual es el tipo del total
  • Requerido
  • Tipo de dato: string


    Ej:
  • GrossPositiveAmount: monto bruto positive de ventas
  • TaxAmount: monto de IVA de las ventas
  • SpecialTaxAmount: monto de impuestos internos de ventas
  • WithHoldingTaxAmount: monto de percepciones de ventas (IIBB e IVA)
  • CreditNoteTotalAmount: monto total acumulado de notas de crédito
  • CreditNoteVATAmount: monto de IVA de las notas de crédito (devoluciones)
  • CreditNoteSpecialTaxAmount: monto de impuestos internos de las notas de crédito (devoluciones)
  • CreditNoteWithHoldingTaxAmount: monto de percepciones de devoluciones(IIBB e IVA)




Autorización del supervisor


Las autorizaciones del supervisor son aquellas intervenciones en las que un usuario con permisos de supervisor autoriza alguna operación o procedimiento.
El registro en TLOG a nivel de LineItem puede tener 0 a N elementos OperatorBypassApproval
Este elemento es del tipo RetailTransactionApproval
<xs:complexType name="RetailTransactionApproval">
<xs:sequence>
<xs:element name="SequenceNumber" type="POSLogSequenceNumber"/>
<xs:element name="ApproverID" type="POSLogOperatorID"/>
<xs:element name="LineApprovalCode" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="EntryMethod" type="POSLogEntryMethod" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Los elementos obligatorios son SequenceNumber, es para relacionarlo con otro LineItem, pudiendo dejar el mismo valor que el LineItem y AppoverID que es del tipo POSLogOperatorID
<xs:complexType name="POSLogOperatorID">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="OperatorName" type="xs:string" use="optional"/>
<xs:attribute name="EmployeeID" type="xs:string" use="optional"/>
<xs:attribute name="OperatorType" type="OperatorTypeType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Por ejemplo:
<OperatorBypassApproval>
<SequenceNumber>1</SequenceNumber>
<ApproverID>Juan</ApproverID>
<Description>applyDiscount</Description>
<EntryMethod>KYD</EntryMethod>
<LineApprovalCode/>
</OperatorBypassApproval>
</LineItem>
Según el procedimiento, se irá informando la descripción.
<Sale/Discount/Tax/Tender....>


Registro de un nuevo cliente


Registro en TLOG de un nuevo cliente o una modificación en sus datos.
El registro de un nuevo cliente o la modificación en los datos de un cliente ya existente puede darse dentro de una transacción en curso como fuera de la misma (desde selección de operaciones)
Con el alta de cliente se generará un TLOG independiente del tipo ControlTransaction.
Los datos a grabar del cliente dependerán del tipo de cliente que se cree (persona física u organización)
Para mayor referencia, utilizar el doc POSLogLibraryRetailTransaction.xsd (PosLog 2.2 de IXRetail)


Ejemplo de TLOG de un new customer – persona física


<ControlTransaction Version="2.2">
<TypeCode>NewCustomer</TypeCode>
<Customer>
<CustomerID>010000111111101</CustomerID>
<CustomerType>PRS</CustomerType>
<CustomerName>
<FirstName>Juan</FirstName>
<LastName>Lopez</LastName>
</CustomerName>
<ContactMethod>
<Address>
<ContactMethodType>Particular1</ContactMethodType>
<AddressLineFirst>Echeverria 1122</AddressLineFirst>
<AddressLineSecond/>
<AddressLineThird/>
<AddressLineFourth/>
<City>1081</City>
<Territory>AR-B</Territory>
<CountryCode>ARG</CountryCode>
</Address>
<TelephoneNumber>
<CountryCode/>
<AreaCode/>
<TelephoneNumber/>
<ExtensionNumber/>
</TelephoneNumber>
<eMail/>
</ContactMethod>
<Birthdate>--</Birthdate>
<YearOfBirth/>
<Gender>M</Gender>
<PartyIdentificationType>
<Type>1</Type>
<Identifier>1111111</Identifier>
<IssueDate/>
<ExpirationDate/>
</PartyIdentificationType>
</Customer>
<Action/>
</ControlTransaction>


Persona física



<!-- Customer Name & Address-->
<xs:complexType name="RetailTransactionCustomer">
<xs:sequence>
<xs:element name="CustomerID" type="xs:string"/> Nro o código de cliente
<xs:element name="CustomerName"> Nombre del cliente
Atributos: FirstName, LastName; type= string (nombre y apellido)
<xs:element name="Address" type="RetailTransactionAddress" minOccurs="0" maxOccurs="unbounded"/>
Atributos o tags:
"ContactMethodType", "AddressLine", "City", "Territory", "CountryCode" type=string (tipo de método de contacto, Lineas de dirección, Ciudad, provincial y país)
<xs:element name="TelephoneNumber" type="xs:string">
Atributos o tags:
"CountryCode", "AreaCode", "TelephoneNumber", "ExtensionNumber" type= string (código de país, código de area, nro de teléfono, interno) Opcional
<xs:element name="eMail" type="xs:string"> (dirección de mail) Opcional
<!-- Customer personal information, sólo aplica para personas físicas -->
<xs:element name="Birthdate" type="xs:date" minOccurs="0"/> (fecha de nacimiento)
<xs:element name="YearOfBirth" type="xs:gYear" minOccurs="0"/> (año de nacimiento)
<xs:element name="Gender" type="xs:string" minOccurs="0"/> (sexo)
<xs:element name="PartyIdentificationType" type="xs:string" minOccurs="0"/ > (tipo de identificación)
Atributos o tags:
"IssueDate", "ExpirationDate" type: date (fechas de vigencia del documento)
<xs:element name="Identifier" type="xs:string" minOccurs="0"/> (Nro de documento)
<xs:element name="Nationality" type="xs:string" minOccurs="0"/> (nacionalidad)
<!-- Customer Action Types-->
<xs:attribute name="Action" type="CustomerActionType" use="optional" default="Read"/>
<xs:simpleType name="CustomerActionType"> (tipo de acción sobre el cliente)
<xs:union memberTypes="CustomerActionTypeEnumeration TypeCodeExtension"/>
</xs:simpleType>
<xs:simpleType name="CustomerActionTypeEnumeration">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Create"/>
<xs:enumeration value="Update"/>
<xs:enumeration value="Read"/>
<xs:enumeration value="Delete"/>
<xs:enumeration value="Report"/>
</xs:restriction>
</xs:simpleType>


Organizaciones


<!-- Customer Name & Address-->
<xs:complexType name="RetailTransactionCustomer">
<xs:sequence>
<xs:element name="CustomerID" type="xs:string"/> Nro o código de cliente
<xs:element name="CustomerName"> Nombre de la organización
Atributo o tag: OrganizationName; type= string
<xs:element name="Address" type="RetailTransactionAddress" minOccurs="0" maxOccurs="unbounded"/>
Atributos o tags:
"ContactMethodType", "AddressLine", "City", "Territory", "CountryCode" type=string (tipo de método de contacto, Linea de dirección, ciudad, provincial, país)
<xs:element name="TelephoneNumber" type="xs:string"> (Teléfono, opcional)
Atributos o tags:
"CountryCode", "AreaCode", "TelephoneNumber", "ExtensionNumber" type= string (código de país, código de area, nro de teléfono e interno)
<xs:element name="eMail" type="xs:string"> (mail, opcional)
<!-- Customer VAT tax information -->
"TaxRegistrationTaxType" type= VAT (o el código que corresponda al tipo de impuesto)
<xs:element name="CustomerTaxTypeCategory " type="xs:string" minOccurs="1"/> (categoría ante el impuesto)
<xs:element name="CustomerFiscalID" type="xs:string" minOccurs="1"/>
Atributos o tags:
"RegistrationNumber" type= string; (nro de CUIT)
"IssueDate", "ExpirationDate" type= date (fecha de vigencia)
<!-- Customer IIBB tax information -->
"TaxRegistrationTaxType" type= IIBB (o el código que corresponda al tipo de impuesto)
<xs:element name=" CustomerTaxTypeCategory " type="xs:string" minOccurs="0"/> (categoría ante el impuesto)
<xs:element name=" CustomerFiscalID " type="xs:string" minOccurs="0"/>
Atributos o tags:
"RegistrationNumber" type= string; (nro de registro de IIBB)
"IssueDate", "ExpirationDate" type= date (fecha de vigencia)
<!-- Customer IIBB tax information -->
<xs:element name="TaxCertificate" type="xs:string" minOccurs="0"/> (lista de certificados de eximición, opcional)
Atributos o tags:
"Jurisdiction" type= string (jurisdicción en la cual se encuentra registrado el cliente)
"UnifiedFactor", "TaxExemptionPercentage" type=decimal, (coeficiente unificado y porcentaje de eximición del impuesto)
"IssueDate", "ExpirationDate" type=date (fecha de vigencia de la eximición del impuesto)
<!-- Customer Action Types -->
<xs:attribute name="Action" type="CustomerActionType" use="optional" default="Read"/>
<xs:simpleType name="CustomerActionType">
<xs:union memberTypes="CustomerActionTypeEnumeration TypeCodeExtension"/>
</xs:simpleType>
<xs:simpleType name="CustomerActionTypeEnumeration"> (tipo de acción sobre el cliente)
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Create"/>
<xs:enumeration value="Update"/>
<xs:enumeration value="Read"/>
<xs:enumeration value="Delete"/>
<xs:enumeration value="Report"/>
</xs:restriction>
</xs:simpleType>


Apertura de período en Bridge Manager Tienda


Dentro del directorio de instalación de Bridge Manager se encontrará una carpeta donde se guardarán los TLOGs que se generen para Bridge Manager tienda.
Ej: C:\synthesis\BMT_Ago30\tlog\processed
El TLOG tendrá el nombre de la tienda, el nro de período y subperíodo, SOD (que indica que es un inicio de período)
Ej: 100-9-10-SOD_1504816988727.xml
<!— Inicio de período en tienda -->
<PosLog xmlns:lxslt="http://xml.apache.org/xslt">
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>100</RetailStoreID>
<WorkstationID>0</WorkstationID>
<SequenceNumber>9</SequenceNumber>
<BusinessDayDate>2017-09-07</BusinessDayDate>
<Period>9</Period>
<Subperiod>10</Subperiod>
<BeginDateTime>2017-09-07 17:43:08</BeginDateTime>
<EndDateTime>2017-09-07 17:43:08</EndDateTime>
<OriginalTransaction><!-NO SE UTILIZA-></OriginalTransaction>
<ControlTransaction Version="2.2">
<TypeCode>BusinessSOD</TypeCode> <!— Inicio de período en tienda -->
<TypeID>46</TypeID>
<BusinessSOD>2017-09-07 17:43:08</BusinessSOD>
</ControlTransaction>
</Transaction>
</PosLog>


Cierre de período en Bridge Manager Tienda


Dentro del directorio de instalación de Bridge Manager se encontrará una carpeta donde se guardarán los TLOGs que se generen para Bridge Manager tienda.
Ej: C:\synthesis\BMT_Ago30\tlog\processed
El TLOG tendrá el nombre de la tienda, el nro de período y subperíodo, SOD (que indica que es un inicio de período)
Ej: 100-11-12-EOD_1505141231135.xml
<!— Cierre de período en tienda -->
<PosLog xmlns:lxslt="http://xml.apache.org/xslt">
<Transaction CancelFlag="false" TrainingModeFlag="false" SuspendedFlag="false" VoidedFlag="false" OfflineFlag="false" ContigencyFlag="false">
<RetailStoreID>100</RetailStoreID>
<WorkstationID>0</WorkstationID>
<SequenceNumber>12</SequenceNumber>
<BusinessDayDate>2017-09-07</BusinessDayDate>
<Period>11</Period>
<Subperiod>12</Subperiod>
<BeginDateTime>2017-09-11 11:47:11</BeginDateTime>
<EndDateTime>2017-09-11 11:47:11</EndDateTime>
<OriginalTransaction><!-NO SE UTILIZA-></OriginalTransaction>
<ControlTransaction Version="2.2">
<TypeCode>BusinessEOD</TypeCode>
<TypeID>47</TypeID>
<BusinessEOD>2017-09-11 11:47:11</BusinessEOD> <!— Cierre de período en tienda -->
</ControlTransaction>
</Transaction>
</PosLog>


Anexo


Cierre Z para legislación tributaria de Argentina



CAPITULO II.COMPROBANTE DIARIO DE CIERRE (informe Z):
1. Será el último Documento emitido en la Jornada Fiscal. En cada uno de ellos se deberá consignar obligatoriamente:


  • a. Domicilio comercial.
  • b. Clave Única de Identificación Tributaria.
  • c. Número de registro del C.F.
  • d. Código identificatorio del punto de venta.
  • e. Fecha y hora.
  • f. Número Progresivo del Comprobante Diario de Cierre (Z).
  • g. Importe total de las operaciones de la Jornada Fiscal.
  • h. Importe total diario del IVA y los parciales correspondientes a cada tasa conforme a lo establecido en el último párrafo del artículo 7°.
  • i. Número progresivo del último Comprobante Fiscal emitido según se trate de "ticket" o factura "C", "ticket" o factura "B" o de factura "A".
  • j. Cantidad de Comprobantes Fiscales emitidos en la Jornada Fiscal.
  • k. Cantidad de D.N.F.H. emitidos en la Jornada Fiscal (estrela).
  • l. Cantidad de D.N.F. emitidos en la Jornada Fiscal (estrela).
  • m. Cantidad de Comprobantes Cancelados. (Solo para los Controladores Fiscales que admitan esta opción). (estrela)
  • n. Logotipo fiscal.



(estrela) Los contadores se inicializan en (0) después de emitir este informe.
2. Los datos de los ítems "b" a "n deberán ser impresos, en el momento de la emisión del Comprobante de Cierre Diario, por intermedio de la impresora del Controlador Fiscal.
3. La registración unitaria de facturas debe realizarse en el caso que se traten de facturas "A". Las facturas "B" o "C" podrán ser asimiladas a los "tickets".


Anexo tipo de transacciones


Tabla CO_TRX_SUB_TYP, campos NM_TRX_SUB_TYP y DS_TRX_SUB_TYP


Nombre del subtipo de transaccion

Descripción

Observaciones

Venta Regular

Venta


Devolucion Venta Regular

Devolución


Budget

Presupuesto

Presupuesto

BillBudget

Facturación Presupuesto


Recibido a Cuenta

Recibido a Cuenta


Prestamo

Préstamo

Dotaciones

Retiro

Retiro


Arqueo

Arqueo


Cambio de Valores

Cambio de Valores


ReceivedPaymentsReport

Reporte Pagos


CashOpening

Apertura de Cajón


TransferTerminal

Transferencia de Terminal


Inicio Modo Entrenamiento

Inicio Modo Entrenamiento


RecoverTrx

Recuperación de Transacción


SignOn

Inicio Sesión


SignOff

Cierre Sesión


Exchange

Cambio

Operación de cambio (artículos devueltos y artículos comprados) con devolución a partir de una compra original

ManualExchange

Cambio Manual

Operación de cambio con devolución sin referencia

TenderDeposit

Depósito

Operación de egreso del SAFE (desde BM)

TenderReceipt

Recibo

Operación de ingreso del SAFE (desde BM)

UpdateCustomerOrder

Actualización de Orden de Compra


Cierre Z

Cierre Z


Cierre X

Cierre X


FiscalReport

Reporte Fiscal


FiscalParameters

Parámetros Fiscales


POSEOD

POSEOD

Cierre de terminal

POSSOD

POSSOD

Inicio de la terminal

ContingencyLoad

Carga de Contingencia


AUDIT

Auditoría


NewCustomer

Nuevo cliente


RechargeMonedero

Recarga Monedero


RefundRechargeMonedero

Reembolso Recarga Monedero


ActiveMonedero

Activar Monedero


TransferMonedero

Transferencia Monedero


RefundRedemptionMonedero

Reembolso Redención Monedero


RedemptionMonedero

Utilización Monedero

Redención del monedero

BalanceMonedero

Balance Monedero

Saldo del monedero

EditCustomer

Editar Cliente


Order

Orden


Apartado

Apartado


Facturacion Apartado

Facturación Apartado


Cancelacion Apartado

Cancelación Apartado


Pago Apartado

Pago Apartado


Devolucion Pago Apartado

Devolución Pago Apartado


BusinessSOD

BusinessSOD

Inicio de período

BusinessEOD

BusinessEOD

Cierre de período




Anexo loyalty con Promo


Asignación de cupón por aplicación de una promoción


Se genera un LineItem del tipo LoyaltyReward por cada promo que genere cupones como beneficio. Puede haber más de un cupon por promoción.
<!— Una promo otorga un cupón -->
<LineItem>
<SequenceNumber>2</SequenceNumber>
<LoyaltyReward>
<Voucher TypeCode="Coupon">
<SerialNumber>1050010107021</SerialNumber>
<Type>95</Type>
</Voucher>
</LoyaltyReward>
<PromotionID>58dea21f65bb760ba44232d2</PromotionID>
<BenefitID>58dea21f65bb760ba44232d0</BenefitID>
</LineItem>


Elemento

  • Atributos

Descripción


<LoyaltyReward>
<Voucher TypeCode="Coupon">
<SerialNumber>1050010107021</SerialNumber>
<Type>95</Type>
</Voucher>
</LoyaltyReward>

Informa los cupones otorgados por Promo como beneficio.

  • Id de cupón/bardcode: <SerialNumber>
  • Tipo de cupón <CouponId>



<PromotionID>58dea21f65bb760ba44232d2</PromotionID>


<BenefitID>58dea21f65bb760ba44232d0</BenefitID>

Informa la promoción y beneficio que otorgó el cupón.

  • Promoción aplicada <el ID de promoción (name en el tag beneficio>
  • Beneficio aplicado <el ID de beneficio (nro en el tag beneficio)>




Redención de cupón para aplicar con promoción


Se genera un LineItem del tipo LoyaltyRedemption por cada cupón que se redima para que aplique alguna promoción. Puede haber más de un cupon por promoción.
<!— Se ingresa un cupón y se redime -->
<LineItem>
<SequenceNumber>5</SequenceNumber>
<LoyaltyRedemption>
<Voucher TypeCode="Coupon">
<SerialNumber>1040013005288</SerialNumber>
<Type>97</Type>
</Voucher>
</LoyaltyRedemption>
</LineItem>


Elemento

  • Atributos

Descripción


<LoyaltyRedemption>
<Voucher TypeCode="Coupon">
<SerialNumber>1040013005288</SerialNumber>
<Type>97</Type>
</Voucher>
</LoyaltyRedemption>

Informa los cupones redimidos en la venta.

  • Id de cupón/bardcode: <SerialNumber>
  • Tipo de cupón <CouponId>




Venta/recarga de una tarjeta gift Card con Promo


Pendiente


Traspaso de saldo


<ControlTransaction Version="2.2">
<TypeCode>TransferMonedero</TypeCode>
<SubTypeCode/>
<TypeID>35</TypeID>
</ControlTransaction>
<LockElapsedTime>0</LockElapsedTime>
</Transaction>
<EJ/>
<Audit/>
</PosLog>


Consulta de saldo


<ControlTransaction Version="2.2">
<TypeCode>BalanceMonedero</TypeCode>
<SubTypeCode/>
<TypeID>38</TypeID>
</ControlTransaction>
<LockElapsedTime>0</LockElapsedTime>
</Transaction>


Anexo apartados


Creación de apartado


Los apartados se basan en CustomerOrderControlTransaction. Para mayor detalle, ver los elementos de Transacci ón de Presupuesto
<CustomerOrderControlTransaction Version="2.2">
<TypeCode>Layaway</TypeCode> <!— Tipo de customerOrder, layaway para apartados -->
<SubTypeCode/>
<TypeID>41</TypeID>
<CurrencyCode>$</CurrencyCode>
<Recovered>false</Recovered>
<CustomerOrderVersion/>
<CustomerOrderStateCode>open</CustomerOrderStateCode> <!— estado OPEN -->
<CustomerOrderTypeCode>1</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion>9</CustomerOrderPromoMapVersion> <!— version de mapa -->
<CustomerOrderActualAvailabilityDate>2017-09-13 23:44:20</CustomerOrderActualAvailabilityDate>
<CustomerOrderPaymentPlanConfigCode>2</CustomerOrderPaymentPlanConfigCode> <!— plan de pagos -->
<CustomerOrderInternalNumber>0001000001000264</CustomerOrderInternalNumber>
<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-13 23:44:20</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-20 23:44:54</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode> <!— Tienda de creación y retiro de items -->
<LineItem EntryMethod="Keyed"> <!— Producto apartado -->
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>5016</ItemID>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>140.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>JgtsNes-JgtsFiAc</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>15.00</RegularSaleUnitPrice>
<ActualUnitPrice>15.00</ActualUnitPrice>
<ExtendedAmount>15.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>

</LineItem>
<LineItem EntryMethod="Keyed"> <!— Producto apartado -->
<SequenceNumber>2</SequenceNumber>
<Sale>
<ItemID>5013</ItemID>
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>NORM</ItemType>
<UnitCost>80.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy>JgtsJue-JgtsHob</MerchandiseHierarchy>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>10.00</RegularSaleUnitPrice>
<ActualUnitPrice>10.00</ActualUnitPrice>
<ExtendedAmount>10.00</ExtendedAmount>
<IDLocation>DEP1_OS</IDLocation>
….
</Sale>
</LineItem>
<LineItem>
<SequenceNumber>3</SequenceNumber>
<Tender TenderType="Peso" TypeCode="Sale"> <!— Pago del anticipo -->
<Amount>2.50</Amount>
<CustomerIDNumber> </CustomerIDNumber>
<ForeignCurrencyID>ARS</ForeignCurrencyID>
<PaymentDate>2017-09-13 23:44:53</PaymentDate>
</Tender>
</LineItem>
<LineItem>
<SequenceNumber>4</SequenceNumber> <!— Plan de pagos -->
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>1</InstallmentNumber>
<PaymentDueDate>2017-09-13 23:59:59</PaymentDueDate>
<PaymentDate>2017-09-13 23:44:54</PaymentDate>
<Amount>2.50</Amount> <!— Anticipo -->
<PaymentState>conf</PaymentState>
</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>5</SequenceNumber>
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>2</InstallmentNumber>
<PaymentDueDate>2017-09-28 23:59:59</PaymentDueDate>
<PaymentDate/>
<Amount>4.50</Amount> <!— Cuota 2 -->
<PaymentState>pend</PaymentState>
</PaymentPlan>
</LineItem>
<!— Cuotas -->
<LineItem>
<SequenceNumber>10</SequenceNumber>
<TotalLine>
<GrossPositiveAmount>25.00</GrossPositiveAmount><!— Total del apartado positivo -->
<GrossNegativeAmount>0.00</GrossNegativeAmount><!— Total del apartado negativo, si hubo anulaciones de items -->
<PaidAmount>2.50</PaidAmount><!— Monto pagado por anticipo -->
<PendingAmount>22.50</PendingAmount><!— Saldo a pagar del apartado -->
</TotalLine>
</LineItem>
<LineItem>
<SequenceNumber>11</SequenceNumber>
<CustomerInformation TypeCode="NA"><!— Datos del cliente -->
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationName</Id>
<Value>Perez, Juan </Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>

</CustomerInformation>
</LineItem>

</CustomerOrderControlTransaction>
</Transaction>
<EJ/>
<Audit/>
</PosLog>


Elemento

  • Atributos

Descripción

POSLog

Informa que es un registro del Transaccional

  • Requerido
  • Repetición = 1 por registro
  • Tipo de dato: n/a

Transaction

Informa que se está registrando una transacción

  • Requerido
  • Repetición = 1 por elemento POSLog
  • Tipo de dato: n/a

RetailStoreID

Informa la identificación del local

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

WorkstationID

informa la identificación de la Terminal

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

SequenceNumber

informa el número de transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: número entero

BusinessDayDate

informa la fecha contable en la cual se registra esta transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha (aaaa-mm-dd)

BeginDateTime

informa la fecha y hora de inicio en que se realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

EndDateTime

informa la fecha y hora de finalización de la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: fecha/hora(aaaa-mm-dd hh:mm:ss)

OperatorID

informa la identificación del operador que realizó la transacción

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: caracteres

OriginalTransaction

Informa la transacción original serializada

  • Requerido
  • Repetición = 1 por elemento Transaction

CustomerOrderControlTransaction

  • Version

Informa que la transacción es un presupuesto o apartado

  • Requerido
  • Repetición = 1 por elemento Transaction
  • Tipo de dato: n/a


    Informa la versión de la mensajería
  • Requerido
  • Tipo de dato:decimal
  • Valor fijo = 2.2

TypeCode

<TypeCode>Layaway</TypeCode>

Informa el tipo de transacción

  • Requerido
  • Repetición = 1 por elemento CustomerOrderControlTransaction
    Tipo de dato: caracteres (ej: Layaway, ReturnPaymentLayaway, PayLayaway)

Subtype

</SubTypeCode>

Subtipo de transacción

  • Requerido
  • Repetición = 1 por elemento CustomerOrderControlTransaction
  • Tipo de dato: caracteres

    Para el listado de valores posibles ver Anexo tipo de transacciones
    Para layaway N/A

TypeID

<TypeID>3</TypeID>

ID del subtipo de transacción CustomerOrder.
Requerido

  • Requerido
  • Repetición = 1 por elemento CustomerOrderControlTransaction
  • Tipo de dato: int

42

Facturacion Apartado

43

Cancelacion Apartado

44

Pago Apartado

45

Devolucion Pago Apartado

<CurrencyCode>$</CurrencyCode>

Moneda del apartado

<Recovered>false</Recovered>

Si fue recuperado el apartado


<CustomerOrderVersion/>

<CustomerOrderStateCode>open</CustomerOrderStateCode>

<CustomerOrderTypeCode>1</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion>9</CustomerOrderPromoMapVersion>
<CustomerOrderActualAvailabilityDate>2017-09-14 24:29:54</CustomerOrderActualAvailabilityDate>

<CustomerOrderPaymentPlanConfigCode>2</CustomerOrderPaymentPlanConfigCode>

<CustomerOrderInternalNumber>0001000001000264</CustomerOrderInternalNumber>

Datos del apartado

  • Versión del apartado
  • Estado (listo para entregar, etc)
  • Tipo de apartado
  • Versión del mapa de Promo
  • Fecha de disponibilidad
  • Plan de pagos (para apartados)
  • Nro de apartado

<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-14 24:29:54</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-21 24:29:59</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode>

Datos de entrega (se utiliza en pedidos no en presupuestos)

  • Persona de contacto
  • Código de cliente
  • Dia de entrega
  • Precio de flete
  • Turno de entrega
  • Moneda
  • Fecha de creación
  • Fecha estimada de entrega
  • Tienda de retiro (misma de creación)

LineItem

  • CancelFlag

Informa una línea de detalle de la transacción

  • Opcional
  • Repetición = sin límite
  • Tipo de dato: n/a


    Indica que esta línea de detalle es una Anulación
  • Opcional
  • Tipo de dato: booleano
  • Default="false"

SequenceNumber

Identifica cada línea de detalle de la transacción

  • Requerido
  • Repetición = 1 por elemento LineItem
  • Tipo de dato: entero ( Cada elemento LineItem de RetailTransaction debe contener un número distinto)

Detalle

Cada elemento LineItem contiene uno y solo un elemento de detalle que depende del tipo de detalle. Vamos a considerar los siguientes:

  • Sale
  • Return
  • Discount
  • Tender
  • Tax
  • Datos del customer
    <CustomerInformation TypeCode="NA"></CustomerInformation>



<SequenceNumber>4</SequenceNumber> <!— Plan de pagos -->
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>1</InstallmentNumber>
<PaymentDueDate>2017-09-13 23:59:59</PaymentDueDate>
<PaymentDate>2017-09-13 23:44:54</PaymentDate>
<Amount>2.50</Amount> <!— Anticipo -->
<PaymentState>conf</PaymentState>
</PaymentPlan>
</LineItem>

Plan de pagos, cuotas, monto de cada cuota y estado de la cuota.

  • PlanCode: código del plan de pago
  • PaymentDueDate: fecha de vencimiento (estimada porque no se valida)
  • PaymentDate: Fecha de pago
  • Amount: monto de la cuota
  • PaymentState: estado del pago (conf, canc)

<TotalLine>
<GrossPositiveAmount>25.00</GrossPositiveAmount><!— Total del apartado positivo -->
<GrossNegativeAmount>0.00</GrossNegativeAmount><!— Total del apartado negativo, si hubo anulaciones de items -->
<PaidAmount>2.50</PaidAmount><!— Monto pagado por anticipo -->
<PendingAmount>22.50</PendingAmount><!— Saldo a pagar del apartado -->
</TotalLine>

Totales

  • Monto bruto positivo: monto total del apartado
  • Monto bruto negativo: monto de los artículos anulados en el apartado
  • Monto pagado: el monto de cuotas ya pagadas
  • Monto pendiente de pago: saldo a pagar del apartado




Pago de apartado


<CustomerOrderControlTransaction Version="2.2">
<TypeCode>PayLayaway</TypeCode> <!— Pago de un apartado -->
<SubTypeCode/>
<TypeID>44</TypeID>
<CurrencyCode>$</CurrencyCode>
<Recovered>false</Recovered>
<CustomerOrderVersion/>
<CustomerOrderStateCode>open</CustomerOrderStateCode>
<CustomerOrderTypeCode>1</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion>9</CustomerOrderPromoMapVersion>
<CustomerOrderActualAvailabilityDate>2017-09-14 24:29:54</CustomerOrderActualAvailabilityDate>
<CustomerOrderPaymentPlanConfigCode>2</CustomerOrderPaymentPlanConfigCode>
<CustomerOrderInternalNumber>0001000001000264</CustomerOrderInternalNumber>
<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-14 24:29:54</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-21 24:29:59</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode>
<LineItem EntryMethod="SYS">
<SequenceNumber>1</SequenceNumber>
<Sale>
<ItemID>LWPY</ItemID> <!— Artículo de PAGO APARTADO -->
<POSItemID/>
<Associate>
<AssociateID>andrea</AssociateID>
</Associate>
<ItemType>SERV</ItemType>
<UnitCost>0.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy/>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>0.00</RegularSaleUnitPrice>
<ActualUnitPrice>4.50</ActualUnitPrice> <!— MONTO DEL PAGO -->
<ExtendedAmount>4.50</ExtendedAmount>
<IDLocation/>

</Sale>
</LineItem>
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TenderType="Peso" TypeCode="Sale">
<Amount>4.50</Amount> <!— PAGO EN EFECTIVO -->
<CustomerIDNumber> </CustomerIDNumber>
<ForeignCurrencyID>ARS</ForeignCurrencyID>
<PaymentDate>2017-09-15 24:29:59</PaymentDate>
</Tender>
</LineItem>
<LineItem>
<SequenceNumber>3</SequenceNumber>
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>1</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate>2017-09-13 23:44:54</PaymentDate>
<Amount>2.50</Amount>
<PaymentState>conf</PaymentState> <!— CUOTA 1, ANTICIPO CONFIRMADA -->
</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>4</SequenceNumber>
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>2</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate>2017-09-15 24:29:59</PaymentDate>
<Amount>4.50</Amount> <!— CUOTA 2, CONFIRMADA -->
<PaymentState>conf</PaymentState>
</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>5</SequenceNumber>
<PaymentPlan TypeCode="Sale">
<PlanCode>2</PlanCode>
<InstallmentNumber>3</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate/>
<Amount>4.50</Amount>
<PaymentState>pend</PaymentState> <!— CUOTA 3, PENDIENTE -->
</PaymentPlan>
</LineItem>
<LineItem>

<TotalLine>
<GrossPositiveAmount>4.50</GrossPositiveAmount>
<GrossNegativeAmount>0.00</GrossNegativeAmount>
<PaidAmount>7.00</PaidAmount> <!— PAGADO ANTICIPO + CUOTA -->
<PendingAmount>18.00</PendingAmount> <!— SALDO PENDIENTE DEL APARTADO -->
</TotalLine>
</LineItem>
<LineItem>
<SequenceNumber>10</SequenceNumber>
<CustomerInformation TypeCode="NA"> <!— Datos del cliente -->
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationName</Id>
<Value>Perez, Juan </Value>
<FormatCode>TX</FormatCode>
</LineModifier>
</CustomerInformation>
</LineItem>

</LineModifier>
</CustomerInformation>
</LineItem>
</CustomerOrderControlTransaction>
</Transaction>
<EJ/>
<Audit/>
</PosLog>


Devolución de un pago de apartado



<CustomerOrderControlTransaction Version="2.2">
<TypeCode>ReturnPaymentLayaway</TypeCode> <!— DEVOLUCION DE PAGO DE CUOTA -->
<SubTypeCode/>
<TypeID>45</TypeID>
<CurrencyCode>$</CurrencyCode>
<Recovered>false</Recovered>
<CustomerOrderVersion/>
<CustomerOrderStateCode>open</CustomerOrderStateCode>
<CustomerOrderTypeCode>1</CustomerOrderTypeCode>
<CustomerOrderPromoMapVersion>9</CustomerOrderPromoMapVersion>
<CustomerOrderActualAvailabilityDate>2017-09-14 24:38:57</CustomerOrderActualAvailabilityDate>
<CustomerOrderPaymentPlanConfigCode>2</CustomerOrderPaymentPlanConfigCode>
<CustomerOrderInternalNumber>0001000001000264</CustomerOrderInternalNumber>
<Address/>
<ContactPerson Id="1" Code="0100012345678100">Perez, Juan </ContactPerson>
<AdditionalDeliveryData/>
<ShipmentPrice/>
<DeliveryShift/>
<BaseCurrency>$</BaseCurrency>
<CreationDate>2017-09-14 24:38:57</CreationDate>
<UpdateDate/>
<EstimatedAvailabilityDate>2017-09-21 24:39:01</EstimatedAvailabilityDate>
<RetirementStoreCode>100</RetirementStoreCode>
<LineItem EntryMethod="SYS">
<SequenceNumber>1</SequenceNumber>
<Return>
<ItemID>LWPY</ItemID><!— ARTICULO DE DEVOLUCION DE PAGO DE CUOTA -->
<POSItemID/>
<Associate>
<AssociateID/>
</Associate>
<ItemType>SERV</ItemType>
<UnitCost>0.00</UnitCost>
<SerialNumber/>
<MerchandiseHierarchy/>
<Quantity Units="1" UnitOfMeasureCode="u">1</Quantity>
<RegularSaleUnitPrice>0.00</RegularSaleUnitPrice>
<ActualUnitPrice>4.50</ActualUnitPrice>
<ExtendedAmount>4.50</ExtendedAmount> <!— MONTO DE CUOTA DEVUELTA -->
<IDLocation/>
<GiftReceiptFlag/>

</Return>
</LineItem>
<LineItem>
<SequenceNumber>2</SequenceNumber>
<Tender TenderType="Peso" TypeCode="Return">
<Amount>4.50</Amount> <!— MONTO DEVUELTO EN EFECTIVO -->
<CustomerIDNumber> </CustomerIDNumber>
<ForeignCurrencyID>ARS</ForeignCurrencyID>
<PaymentDate>2017-09-15 24:39:00</PaymentDate>
</Tender>
</LineItem>
<LineItem>
<SequenceNumber>3</SequenceNumber>
<PaymentPlan TypeCode="Return">
<PlanCode>2</PlanCode>
<InstallmentNumber>1</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate>2017-09-13 23:44:54</PaymentDate>
<Amount>2.50</Amount> <!— CUOTA CONFIRMADA, ANTICIPO -->
<PaymentState>conf</PaymentState>
</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>4</SequenceNumber>
<PaymentPlan TypeCode="Return">
<PlanCode>2</PlanCode>
<InstallmentNumber>2</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate>2017-09-15 24:39:01</PaymentDate>
<Amount>4.50</Amount>
<PaymentState>canc</PaymentState> <!— CUOTA 2 CANCELADA -->
</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>5</SequenceNumber>
<PaymentPlan TypeCode="Return">
<PlanCode>2</PlanCode>
<InstallmentNumber>3</InstallmentNumber>
<PaymentDueDate/>
<PaymentDate/>
<Amount>4.50</Amount>
<PaymentState>pend</PaymentState> <!— CUOTAS PENDIENTES -->
</PaymentPlan>
</LineItem>
<LineItem>

</PaymentPlan>
</LineItem>
<LineItem>
<SequenceNumber>9</SequenceNumber>
<TotalLine>
<GrossPositiveAmount>0.00</GrossPositiveAmount>
<GrossNegativeAmount>4.50</GrossNegativeAmount>
<PaidAmount>2.50</PaidAmount> <!— MONTO PAGADO DEL APARTADO -->
<PendingAmount>22.50</PendingAmount> <!— SALDO PENDIENTE DEL APARTADO -->
</TotalLine>
</LineItem>
<LineItem>
<SequenceNumber>10</SequenceNumber>
<CustomerInformation TypeCode="NA"> <!— Datos del cliente -->
<LineModifier>
<SequenceNumber>1</SequenceNumber>
<Id>RegistrationName</Id>
<Value>Perez, Juan </Value>
<FormatCode>TX</FormatCode>
</LineModifier>

</CustomerOrderControlTransaction>
</Transaction>
<EJ/>
<Audit/>
</PosLog>


Anexo auditoria y EJ


Auditoría


Se generan TLOGs que permiten dejar registro de procedimientos realizados en el POS o errores de dispositivos. Estos se guardan como auditoria y luego son distribuidos en Bridge Manager tienda para ser informados desde los reportes de auditoria.
Ej: 1-00-1504195240182.xml (el TLOG se genera con el nro de terminal – 00)
<!— Ej : Auditoria de un error con un dispositivo -->
<Audit>
<AuditLine>
<Date>2017-08-31 12:37:14</Date>
<Code/>
<User/>
<Description>INFO</Description>
<Detailed>DEVICE INITIALIZATION SCANNER EMULATOR DEVICE</Detailed>
<Line> CONTEXT END: Properties:: auditException:null _operationId_:auditLogOperation auditData:DEVICE connectionId:7cf428cb-4cc7-4a1c-b566-6c52a8e32a68 auditAddData:DEVICE INITIALIZATION SCANNER EMULATOR DEVICE auditType:INFO terminalCode:1 userName:null auditCode: transactionId:00 storeCode:100 Additional Data:: </Line>
<Terminal>1</Terminal>
<NumberTransaction>0</NumberTransaction>
<Process> </Process>
<SubProcess> </SubProcess>
</AuditLine>
<!— Ej : Auditoria de un procedimiento de error dentro de una venta -->
<Audit>
<AuditLine>
<Date>2017-08-31 13:00:37</Date>
<Code>10145</Code>
<User>andrea</User>
<Description>ERROR OCCURRED</Description>
<Detailed>La fecha original es inv૩da. El formato es DD/MM/AAAA.</Detailed>
<Line> CONTEXT END: Properties:: auditAddData:La fecha original es inv૩da. El formato es DD/MM/AAAA. auditType:ERROR OCCURRED userName:andrea transactionId:00 auditProcess:com.synthesis.bridge.bcore.business.services.impl.RecoverServiceImpl@3201fc14 auditException:com.synthesis.bridge.bcore.operations.exceptions.BcBusinessException: La fecha original es inv૩da. El formato es DD/MM/AAAA. _operationId_:auditLogOperation auditData:EXCEPTION auditSubProcess:findTrxWithoutReference connectionId:7cf428cb-4cc7-4a1c-b566-6c52a8e32a68 terminalCode:1 auditCode:10145 storeCode:100 Additional Data:: </Line>
<Terminal>1</Terminal>
<NumberTransaction>0</NumberTransaction>
<Process>com.synthesis.bridge.bcore.business.services.impl.RecoverServiceImpl@3201fc14</Process>
<SubProcess>findTrxWithoutReference</SubProcess>
</AuditLine>


Electronic Journal (EJ)


El POS va generando TLOGs donde se va registrando lo que se imprimiría en la cinta testigo de la printer, denominado Electronic Journal. Al distribuirse esta información en el Bridge Manager de Tienda, se podrá consultar por dia/terminal desde el menú Monitoreo/Journal electrónico.
Ej: 1-00-1504194000200.xml (el TLOG se genera con el nro de terminal – 00)
<!— Ej : copia de parte de la impresión de una venta -->
<EJ>
<EJLine>
<Date>2017/08/31 12:53:50.113</Date>
<Terminal>1</Terminal>
<Line>SYNTHESIS R.S.
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.116</Date>
<Terminal>1</Terminal>
<Line>31/08/2017 12:53
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.119</Date>
<Terminal>1</Terminal>
<Line>Tienda: 100
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.122</Date>
<Terminal>1</Terminal>
<Line>Vendedor: Andrea
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.125</Date>
<Terminal>1</Terminal>
<Line>Terminal/Trx.: 1/9
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.128</Date>
<Terminal>1</Terminal>
<Line>TICKET DE VENTA
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.153</Date>
<Terminal>1</Terminal>
<Line>Descripcion Cantidad Precio
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:50.17</Date>
<Terminal>1</Terminal>
<Line>Sony Home Theater 1 200.00
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:54.374</Date>
<Terminal>1</Terminal>
<Line>Desc.(%20): 40.00
</Line>
</EJLine>
<EJLine>
<Date>2017/08/31 12:53:58.334</Date>
<Terminal>1</Terminal>
<Line>Game FIFA 14 for PS3 1 50.00
</Line>
</EJLine>
</EJ>
<Audit/>
</PosLog>

  • Sem rótulos