MANUAL DE INTEGRACIÓN

Versión 1.1


Revisiones

FechaAutorDetalle

 

Creación del documento

 

Revisión servicios 2G

Contenido

Acerca del documento


Fiscal Flow es la solución de Napse para la emisión de documentos fiscales, según la normativa AFIP y la gestión de impresoras de 2da generación. 

El presente manual esta destinado a todos los sistemas de punto de venta que se integren con Fiscal Flow mediante el uso del agente.

A continuación, se expone una descripción de los servicios REST disponibles a través del uso del agente, destinados a la autorización de comprobantes electrónicos.

1. SERVICIOS GENERALES

a. "Authenticate" 

Servicio de seguridad para autenticarse en el sistema.

Es un método REST basado en el formato JSON.

Un ejemplo de invocación es: [post] http://[dirección-ip]:[puerto]/api/v1/oauth2/authenticate

Los datos de clientId y clientSecret habilitados pueden verse dentro del módulo Seguridad/Clientes API en Fiscal Flow.

Para la utilización del resto de los servicios de Fiscal Flow es necesario informar el token obtenido a través de este método.

POST- REQUEST- BODY


{
    "clientId":"vcn5keiiw0zf",
    "clientSecret":"g23n2tlt3fmap0ymaosv"
}


request
clientId
Envia el valor clientId
clientSecret
Envia el valor clientSecret


A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNWU5NDczZGU4YTk2NDI5MzlkMzVkYzhiIn0sImlhdCI6MTU5NTk0NzkyOSwiZXhwIjoxNTk1OTUxNTI5fQ.yrMsmYgyPtii59moYgujKE96ZeFNhHuZnwt3OeE59fM",
  "expiresIn": 3600000,
  "expUnit": "miliseconds"
}


Campos en la respuesta
tokenToken de seguridad devuelto por el sistema
expiresIn

Tiempo de expiración del token medido en unidad de expiración

expUnit

Unidad de expiración


b. "clientStatus"

Este método es invocado por el punto de venta para verificar el estado activo de los servicios expuestos por Fiscal Flow. Asimismo, permite notificar que el punto de venta se encuentra activo.

Es un método REST basado en el formato JSON para el intercambio de datos.

Un ejemplo de invocación es: [post] http://[dirección-ip]:[puerto]/api/v1/clientStatus

PRE-REQUISITO

Para el uso del servicio es necesario informar en el header de la petición el token obtenido a través del servicio "Authenticate" con el parámetro x-access-token 

REQUEST- HEADER


  "x-access-token": token


request
x-access-token
Token obtenido a través del servicio "Authenticate"


REQUEST- BODY


{ 
   "requestCredential":{ 
      "companyCode":"napse",
      "terminalCode":"10",
      "storeCode":"1"
   }
   "printerInfo":{
      "pointOfSale":"0002"
      "fiscalSerial":"PHAS10700005"
   }
}



DescripciónTipo de datoRequeridoValidación
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioString Si992
terminalCodeCódigo de terminal / punto de ventaStringSi992
storeCodeCódigo de tiendaStringSi992
printerInfo

pointOfSale

2G: Punto de Venta (Centro emisor)

StringObligatorio: Solo para 2g

fiscalSerial

2G: Nro serie impresoraStringObligatorio: Solo para 2g


A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{ 
   "ack":0,
   "message": ""
}


Campos en la respuesta
messageDetalle del error (si existiese)
ack

Código de respuesta:

0: ok

2007: Falta enviar las credenciales
2008: La compañia no existe
2010: No se encuentra configurado el CAE para la terminal
2013: La propiedad printerInfo debe ser un objeto
2014: La propiedad requestCredential debe ser un objeto
2015: Las credenciales tienen un error
2038: El numero de serie de la impresora debe ser alfanumérica
2043: La terminal esta configurada para operar en modo electronico. Por favor cambie la configuracion, comuniquese mediante el clientStatus e intente nuevamente
2046: Falta la propiedad printerInfo
2047: Falta la propiedad printerInfo.fiscalSerial
2048: Falta la propiedad printerInfo.pointOfSale
2049: La terminal electronica indicada no esta configurada en Fiscal Flow

3006: Falta el token de acceso
3016: Error en el requestCredential - printerInfo
3021: No existe CAEA para la compañía


c. "zReport"

SERVICIOS PARA OBTENER EL INFORME Z POR COMPAÑÍA, TIENDA Y TERMINAL

Este método se utiliza para obtener el informe Z de un determinado período..
Es un método REST cuyo contenido interno es JSON.
Un ejemplo de invocación es: [post] http://[dirección-ip]:[puerto]/api/v1/zReport

PRE-REQUISITO

Para el uso del servicio es necesario informar en el header de la petición el token obtenido a través del servicio "Authenticate" con el parámetro x-access-token 

REQUEST- HEADER


  "x-access-token": token


request
x-access-token
Token obtenido a través del servicio "Authenticate"


REQUEST- BODY


{ 
   "requestCredential":{ 
      "companyCode":"napse",
      "terminalCode":"10",
      "storeCode":"1"
   },
   "zNumber": 20201029
}


Los campos marcados con (estrella) son requeridos cuando operan con Impresoras de 2G.


DescripciónTipo de datoRequerido
requestCredential
companyCode(estrella)Código de compañía, provisto para la empresa que contrata el servicioStringSi
terminalCode(estrella)Código de terminal / punto de ventaStringSi
storeCode(estrella)Código de tiendaStringSi

printerInfo

zNumber(estrella)El número de cierre Z String Si


Ejemplo de respuesta: 


{
    "ack": 0,
    "result": [
        {
            "_id": "5f9af52ee4eff21a457dd343",
            "lastInvoiceNumber": 352,
            "totalAuthorized": 2,
            "nonTaxedAmount": 0,
            "exemptAmount": 0,
            "companyCode": "napse",
            "storeCode": "1001",
            "terminalCode": "1001",
            "afipPosCode": "20",
            "invoiceType": 6,
            "zNumber": 20201028,
            "firstInvoiceNumber": 350,
            "relatedTaxes": [
                {
                    "_id": "5f997b2365fe1611e14ffd8b",
                    "amount": 242.98,
                    "baseAmount": 1157.02,
                    "code": "5",
                    "name": "IVA 21.00"
                }
            ],
            "relatedOtherTaxes": [],
            "createdAt": "2020-10-29T17:00:30.056Z",
            "updatedAt": "2020-10-29T17:00:30.119Z",
            "__v": 1
        }
    ]
}



Campos en la respuesta
ack

Código de respuesta:

0: ok

3006: Falta el token de acceso
3020: La terminal no existe, registrarse a traves del metodo clientStatus


3001: la información enviada (companyCode, terminalCode, storeCode y zNumber).
3002: no existe información de cierre.
999: error desconocido.

result

En caso de que el ack sea 0 (ok) se informará un registro por cada tipo de documento (invoiceType).

Para referencias de los tipos de comprobante, ir aquí: Tipos de Comprobante


3. SERVICIO FACTURA ELECTRÓNICA


Este servicio permite la emisión y almacenamiento de comprobantes electrónicos respetando el régimen de factura electrónica según la resolución dispuesta por AFIP. 

Fiscal Flow solicitará y obtendrá el CAE de los comprobantes generados con su correspondiente fecha de vencimiento, gracias a un enlace directo de webservices con los servidores de AFIP.

a. Diagrama

El siguiente diagrama es un flujo - muy sencillo - de operación del punto de venta y el sistema de emisión de comprobantes electrónicos Fiscal Flow.



b. Servicios específicos

i. "Authorize"

Este método se utiliza para autorizar documentos electrónicos por CAE. 
El agente intenta autorizar por CAE, en caso de encontrar un inconveniente, autoriza en forma offline (CAEA).
Es un método REST basado en el formato JSON para el intercambio de datos.
Un ejemplo de invocación es: [post] http://[dirección-ip]:[puerto]/api/v1/invoice/authorize

PRE-REQUISITO

Para el uso del servicio es necesario informar en el header de la petición el token obtenido a través del servicio "Authenticate" con el parámetro x-access-token 

REQUEST- HEADER


  "x-access-token": token


request
x-access-token
Token obtenido a través del servicio "Authenticate"


REQUEST- BODY


Acceso a JSON de ejemplo por tipos de comprobante: FF - Ejemplos JSON comprobantes



DescripciónTipo de datoRequeridoValidación
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioStringSi

992


terminalCodeCódigo de terminal / punto de ventaStringSi
992
storeCodeCódigo de tiendaString
Si
992
customer
codeCódigo del clienteStringNo

businessNameNombre de la persona / Empresa cliente (Receptor del comprobante)StringSi. No es requerido si se trata de un comprobante distinto de tipo A y se trata de Consumidor Final


fiscalAddressDirección fiscal de la persona / empresaStringNo

cityNombre de la ciudadStringNo

stateNombre de la provinciaStringNo

postalCode

Código postal

String

No

taxCategorySituación impositiva del cliente frente al IVA

Integer (1)

Si4.2 Situación impositiva del cliente
IBCategorySituación impositiva del cliente frente a Ingresos Brutos

String

No

documentTypeTipo de documento de identificación del clienteInteger (2)Si. En caso de tratarse de Consumidor Final y el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019, se deberá enviar 99.
4.1 Tipos de documentos permitidosDocTipo
identificationNumberNúmero de identificación del cliente. No es necesario si este fuese consumidor final.NumberSi. En caso de tratarse de Consumidor Final y el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019, el campo deberá ser cero (0).

DocNro
IBIdentificationNumberNúmero de inscripción en Ingresos BrutosNumberNo

personalEmailDirección de correo electrónico del cliente. Es un dato de contacto, no es al que se enviará la factura.StringNo

billingEmail

Dirección de correo electrónico del cliente adonde debe llegar la factura. Corresponde al mail de facturación

StringSi en caso de desear enviar factura por correo electrónico

sendVoucherSi desea marcar la factura para su posterior envío por correo electrónico. Por default es FALSE.String
No

civilStatusEstado civil del cliente. No es necesario si es empresa.StringNo

fiscalDocument
internalId

Número de comprobante interno del punto de venta

Debe ser un identificador único de la transacción de hasta 40 caracteres

AlfanuméricoSi

orderNumberNúmero de pedidoNumberNo

operatorCódigo del operador o vendedorStringNo

conceptCodeConceptos a facturarInteger (2)Si4.3 Conceptos a facturarConcepto
invoiceTypeTipo de Comprobante Integer (3)Si4.4 Tipos de ComprobantesCbteTipo
saleConditionCondición de ventaStringSi

currencyCódigo de moneda StringSi4.5 Monedas MonId
currencyChangeCotización de la moneda informadaNumber (10,6)Si
MonCotiz
invoiceDateFecha del documento (Formato: yyyy-mm-dd hh:mm:ss)

Date

Si
CbteFch
paymentDueDateFecha de vencimiento del pago del documento (Formato: yyyy-mm-dd)
DateNo
FchVtoPago
periodStartDatePara servicio (invoiceType=2,3). Fecha de inicio periodo facturado (Formato: yyyy-mm-dd)
DateNo
FchServDesde
periodEndDatePara servicio (invoiceType=2,3). Fecha de fin periodo facturado (Formato: yyyy-mm-dd)
DateNo
FchServHasta

businessDate

Fecha contable del documento (Formato: yyyy-mm-dd)

Si no viene el valor por defecto es fecha del día formato yyyy-mm-dd

DateNo

zNumber

Numero de cierre Z

Si no viene el valor por defecto es fecha del día formato yyyymmdd

Number

No




subtotalAmount

Importe total neto de descuentos e impuestos (IVA y otros impuestos: percepción, impuestos municipales, impuestos internos)

(Comprobantes tipo A: importe sin IVA. Comprobantes tipos B: importe con IVA incluido)


Number (10,2)Si

ticketDiscount

Descuento global sobre la venta (ticket).

Importe sumatorio de todos los descuentos con scope: T (transaction)

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)Si

discountAmount

Importe sumatorio de todos los descuentos de venta (a nivel ítems + a nivel factura o ticket) con scope: I (item) + T (transaction)

(Comprobantes tipo A: total de descuentos neto sin IVA. Comprobantes tipos B: descuentos con IVA incluido)

Number (10,2)Si

nonTaxedAmountImporte conceptos no gravadosNumber (10,2)Si
ImpTotConc
taxedAmount

Importe neto gravado del documento

Suma de relatedTaxes.baseAmount

Number (10,2)Si
ImpNeto
amountIVA

Importe en concepto de IVA

Suma de relatedTaxes.amount

Number (10,2)Si
ImpIVA
amountOtherTaxes

Importe en concepto de Otros Tributos

Suma de relatedOtherTaxes.amount

Number (10,2)Si
ImpTrib
exemptAmountImporte en concepto de valores exentos de impuestosNumber (10,2)Si
ImpOpEx
totalAmountImporte total del documentoNumber (10,2)Si
ImpTotal
relatedInvoices (sólo cuando es una nota de crédito o nota de débito. Obligatorio si no se informa periodo asociado (relatedInvoicesPeriod)) CbtesAsoc
invoiceTypeTipo de Comprobante asociadoInteger (3)Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod
4.4 Tipos de ComprobantesTipo
pointOfSalePunto de venta AFIP del comprobante asociadoString (5)

Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod


PtoVta
invoiceNumber
Número del punto de venta del comprobante asociado
String (8)Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod
Nro
invoiceDateFecha del comprobante asociado (Formato: yyyy-mm-dd)
DateSi en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod
CbteFch
relatedInvoicesPeriod (sólo cuando es una nota de crédito o nota de débito. Obligatorio si no se informan comprobantes asociados (relatedInvoices))PeriodoAsoc
startDateFecha correspondiente al inicio del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)DateSi en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvioces
FchHasta
endDateFecha correspondiente al fin del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)Date

Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvioces


FchDesde
Items
action

Concepto del ítem. S: Sale | R: Return

S: cuando se trata de un producto que suma a la transacción, por ejemplo, un item que se vende.

R: cuando se trata de un producto que resta a la transacción, por ejemplo, un item que se devuelve, o un envase de bebida.

char (1)Si

skuCódigo del producto

String

Si

code

Código secundario del producto.

Se utiliza como codigoMtx: Deberán corresponder a la estructura provista por la ASOCIACION ARGENTINA DE CODIFICACION DE PRODUCTOS COMERCIALES —CODIGO—, códigos GTIN 13, GTIN 12 y GTIN 8, correspondientes a la unidad de consumo minorista o presentación al consumidor final

StringNo

name

Nombre del productoStringSi

qty

Cantidad del producto

NumberSi

um

Unidad de medida del producto.

Valor por defecto: UN

StringNo

serialNumberNúmero de serie del producto en caso de requerirStringNo

lotNumberNúmero de lote o partida del producto en caso de requerirStringNo

barCodeCódigo de barras del productoStringNo

tax

Porcentaje de IVA asociado al ítemNumber (4,2)Si.

Se deberá enviar en 0 (cero) si es exento o no gravado.



taxAmount

Importe de IVA asociado al ítem

Number (10,2)Si

internalTax

Importe de impuestos internos aplicados al ítem (unitario)

Number (10,2)No

discount

Suma de descuentos aplicados. Default 0.0

Suma de items.promotions.amount

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)Si

unitPrice

Precio unitario del producto.

(Comprobantes tipo A: precio neto sin IVA. Comprobantes tipos B: precio IVA incluido)

Number (10,2)Si

totalPrice

Precio unitario del producto x cantidad (qty)

(Comprobantes tipo A: precio neto sin IVA. Comprobantes tipos B: precio IVA incluido)

Number (10,2)Si

promotions
codeCódigo del descuento o PromociónStringNo

scope

Concepto de la promoción. I: Ítem | T: Transacción

I: Cuando se trata de un descuento propio del ítem o producto/servicio

T: Cuando se trata de un descuento a nivel transacción. Se informa de manera prorrateada

Char (1)Si

nameNombre / descripción del descuentoStringNo

amount

Importe aplicado como descuento

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)No


taxAmount

Importe de IVA asociado a la promoción

Number (10,2)No

internalTaxImporte de impuestos internos asociado a la promociónNumber (10,2)No

percentPorcentaje de descuento aplicado. SI no se informa poner 0.0Number (4,2)No


itemInfo
key / value

Colección clave / valor libre para información específica del producto o del negocio.


No

benefits
codeCódigo del beneficioStringNo


nameNombre / descripción del beneficioStringNo


benefitTypeNombre / descripción del tipo de beneficioStringNo


amount

Valor numérico, que representa importe, cantidad de cupones, o puntos

Number (10,2)No


couponCodeCódigo del CUPÓNStringNo


cardTypeCódigo del TIPO DE TARJETAStringNo


cardCodeCódigo de la TARJETA de beneficioStringNo


cardCurrentAmountMonto del beneficio de la TARJETANumber (10,2)No


relatedTaxes AlicIva
amountImporte liquidado según la alícuota de IVANumber (10,2)

Si. No se deberá enviar el array relatedTaxes si es exento o no gravado. Informar en 0 (cero) en caso de tratarse de IVA 0%.


Importe
baseAmountBase imponible para la determinación de la alícuotaNumber (10,2)

Si


BaseImp
codeCódigo del Tipo de IVAInteger (2)

Si

4.6 Tipos de IVAId
nameDescripción del impuestoString

Si



relatedOtherTaxes (solo si hay impuestos: percepciones de IVA, percepciones de Ingresos Brutos, Impuestos Internos, retenciones nacionales, municipales, etc.-) En caso de mandarlo es obligatorio todos los campos del array.

Tributos
amountImporte del impuestoNumber (10,2)No
Importe
baseAmountBase imponible para la determinación del tributoNumber (10,2)No
BaseImp
codeCódigo del Tipo de ImpuestoInteger (2)No4.7 Códigos de ImpuestoId
nameDescripción de impuestoStringNo
Desc
aliquotAlícuotaNumber (3,2)No
Alic
optionals (solo si se encuentra dentro del conjunto de emisores habilitados a informar opcionales) (IMPORTANTE: si se trata de operaciones que no dan lugar al cómputo del crédito fiscal - F. 8001)Opcionales
codeCódigo identificador del Opcional de AFIPStringNo

4.8 Códigos de opcionales permitidos

5. Operaciones que no dan lugar al crédito fiscal F.8001

Id
nameValor del Parámetro opcional a informarVer 5. Operaciones que no dan lugar al crédito fiscal F.8001No
Valor
paymentMethods
codeCódigo del medio de pagoStringSi

nameNombre del medio de pagoStringSi

amountImporteNumber (10,2)Si

surchargeAlícuota de recargoNumber (3,2)No

paymentMethodsInfo




key / valueColección clave / valor de objetos que representan información adicional del pagoArrayNo

documentInfo
key / value

Colección clave / valor de objetos que representan información adicional del documento.


No

Formato y Códigos de Respuesta

A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{ 
   "authorizationDate":"2019-11-08T03:00:00.000Z",
   "authorizationCode":"69447792300310",
   "authorizationType": "CAE",
   "invoiceType": "1",
   "pointOfSale":"00010",
   "invoiceNumber": "00000044"
   "ack":0,
   "message":{},
   "url": "http://www.fiscalflow.com.ar/public/invoice/xyz123456"
}


Campos en la respuesta
authorizationDateFecha de vencimiento del CAE | CAEA
authorizationCodeCódigo de Autorización Electrónico (CAE) / Código de Autorización Electrónico Anticipado (CAEA)
authorizationTypeCAE | CAEA
invoiceTypeTipo de comprobante autorizado
pointOfSalePunto de venta AFIP (5 dígitos)
invoiceNumberNumero de comprobante enviado a la AFIP, se asocia con el centro emisor AFIP utilizado para facturar.
ack

Código de respuesta:


0: ok

2000: Falta enviar header de la Autorización
2001: Formato de credenciales inválidos
2002: Usuario no encontrado
2003: Contraseña invalida
2004: Falta token de acceso
2005: Token de acceso no existe
2006: Token de acceso caducado
2007: Faltan las credenciales de solicitud
2008: La compañía no existe
2009: Falta enviar Fiscal serial
2010: No se encuentra configurado el CAE para la terminal
2011: CAEA no existente para el periodo y orden
2012: El header de la autorización debe ser de tipo string
2013: La propiedad printerInfo debe ser de tipo object
2014: La propiedad requestCredential debe ser de tipo object
2015: Error de tipo de atributos en las credenciales
2016: Falta el documento fiscal
2017: La propiedad fiscalDocument debe ser de tipo object
2018: La terminal no existe
2019: Falta la propiedad fiscalDocument.items
2020: Falta la propiedad Customer
2021: Falta la propiedad customer.businessName
2022: Falta la propiedad customer.documentType
2023: Falta la propiedad customer.fiscalAddress
2024: Falta la propiedad customer.identificationNumber
2025: Falta la propiedad fiscalDocument.relatedInvoices
2026: Falta la propiedad fiscalDocument.conceptCode
2027: Falta la propiedad fiscalDocument.internalNumber
2028: Falta la propiedad fiscalDocument.invoiceDate
2029: Falta la propiedad fiscalDocument.invoiceType
2030: Falta la propiedad fiscalDocument.nonTaxedAmount
2031: Falta la propiedad fiscalDocument.totalAmount
2032: Falta la propiedad fiscalDocument.relatedOtherTaxes
2033: La propiedad fiscalDocument.optional tiene valores incorrectos
2034: La propiedad fiscalDocument ya existe
2035: Falta la propiedad fiscalDocument.relatedInvoicesPeriod
2040: Falta la propiedad fiscalDocument.invoiceNumber
2041: Falta la propiedad fiscalDocument.pointOfSale
2042: La terminal esta configurada oara operar en modo 2G. Por favor cambie la configuración, comuniquese mediante el servicio clientStatus e intente nuevamente.
2043: La terminal esta configurada oara operar en modo Factura electronica. Por favor cambie la configuración, comuniquese mediante el servicio clientStatus e intente nuevamente.
2044: La terminal esta configurada oara operar en modo Impresora de 1G. Por favor cambie la configuración, comuniquese mediante el servicio clientStatus e intente nuevamente.
2045: Falta la propiedad fiscalDocument.zNumber
2046: Falta la propiedad printerInfo
2047: Falta la propiedad printerInfo.fiscalSerial
2048: Falta la propiedad printerInfo.pointOfSale
2900: Las credenciales son invalidas
2997: Timeout. El servidor no responde sobre la autorización que posee en curso y para el mismo centro emisor y tipo de comprobante, no es posible cursar un nuevo pedido de autorización.
2998: AFIP rechazo la solicitud de autorización
2999: Error interno del servidor


3006: Falta el token de acceso
3018: Esta deshabilitado la modalidad CAEA cuando AFIP esta fuera de linea
3019: Esta deshabilitado la modalidad CAEA cuando la tienda esta fuera de linea
3020: La terminal no existe, registrarse a través del método clientStatus
3021 : No hay CAEA para la empresa
3022 : No puede ser autorizado por CAEA porque la tienda excedió el porcentaje de autorización configurado
3023 : Terminal no registrado para operar en modo 2g. Por favor llame a clientStatus para registrarse
3024 : Credenciales no válidas o número interno faltante en el documento fiscal
3025: Error de agente interno. El agente no tiene información para el periodo actual para calcular el porcentaje de CAEA para autorizar

 

4000: Error de AFIP (según la especificación del manual del desarrollador, se informa en el campo message). https://www.afip.gob.ar/facturadecreditoelectronica/documentos/manual_desarrollador_COMPG_v2_18-beta1.pdf
4999: Fuera de servicio WebService de AFIP


message

Detalle específico, en caso de corresponder, del error informado

OBSERVACIÓN: Cuando se envía una operación previamente autorizada por CAE o CAEA con el mismo número de identificador único de la transacción (internalId), el sistema dará como respuesta el mismo mensaje de la transacción original:

  • authorizationDate
  • authorizationCode
  • authorizationType
  • invoiceType
  • pointOfSale
  • invoiceNumber
  • ack
  • y lo siguiente: documentExisting": "Operacion previamente autorizada para el internalId informado."
url

Contiene la URL para poder ver el comprobante online (para casos en donde el canal de venta imprime un ticket).


ii. "fiscalDocuments"

Este servicio permite consultar un documento fiscal de acuerdo a determinados filtros:

Es un método REST basado en el formato JSON para el intercambio de datos.
Un ejemplo de invocación es: [get] http://[dirección-ip]:[puerto]/api/v1/fiscalDocuments?invoiceType=1&internalId=640

PRE-REQUISITO

Para el uso del servicio es necesario informar en el header de la petición el token obtenido a través del servicio "Authenticate" con el parámetro x-access-token 

REQUEST- HEADER


  "x-access-token": token


request
x-access-token
Token obtenido a través del servicio "Authenticate"


REQUEST- BODY


{ 
   "requestCredential":{ 
      "companyCode":"napse",
      "terminalCode":"1001",
      "storeCode":"1001"
   }
}





DescripciónTipo de datoRequeridoValidación
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioString Si992
terminalCodeCódigo de terminal / punto de ventaStringSi992
storeCodeCódigo de tiendaStringSi992



A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{
	 "authorizeInfo": [
		{
    		"code": 10017,
        	"message": "Factura individual, DocTipo: 80, DocNro 30470827047 no se encuentra registrado en los padrones de AFIP o se encuentra inactivo.",
    	    "date": "2020-10-26 23:22:40"       
		}   
	],   
	"attempts": 0,   
	"processed": true,
	"_id": "5f975a4074f8103e0f082ab5",  
	"internalId": "7922124961",
	"orderNumber": 1,   
	"operator": "ALE",
	"conceptCode": 1,
	"invoiceType": 1,
	"saleCondition": "1",
	"currency": "PES",
	"currencyChange": 1,
	"invoiceDate": "2020-10-26T00:00:00.000Z",
	"paymentDueDate": "2020-10-26T00:00:00.000Z",
	"periodStartDate": "2020-10-26T00:00:00.000Z",
	"periodEndDate": "2020-10-26T00:00:00.000Z",
	"businessDate": "2020-10-26T00:00:00.000Z",
	"zNumber": 16768153,
	"items": [      
		{
			"um": "7",
			"_id": "5f975a4074f8103e0f082ab6",
			"action": "S",
			"sku": "53094",
			"code": "1",
			"imageUrl": "",
			"name": "Televisor Sony",
			"qty": 1,
			"serialNumber": "49938801",
			"lotNumber": "12281",
			"barCode": "779893164411834",
			"tax": 21,
			"taxAmount": 100.66,
			"internalTax": 0,
			"discount": 10.2,
			"unitPrice": 587,
			"totalPrice": 587,
       		"promotions": [
                {
                    "_id": "5f975a4074f8103e0f082ab7",
                    "code": "PRS",
                    "scope": "I",
                    "name": "Dto 2x1",
                    "amount": 10.2,
                    "taxAmount": 0,
                    "internalTax": 0,
                    "percent": 0
                }           
			],
			"itemInfo": [
        	        {
                    "_id": "5f975a4074f8103e0f082ab8",
                    "key": "Peso",
                    "value": "15kg"
                },
                {
                    "_id": "5f975a4074f8103e0f082ab9",
                    "key": "ModalidadEnvio",
                    "value": "Envío a Domicilio"
                },
                {
                    "_id": "5f975a4074f8103e0f082aba",
                    "key": "ContactoEntrega",
                    "value": "Preguntar por Francisco Perez"
                }           
			]
		}
	],
	"relatedTaxes": [
			{
				"_id": "5f975a4074f8103e0f082abb",
				"amount": 100.66,
				"baseAmount": 479.34,
				"code": "5",
				"name": "IVA 21%"
			}   
	],
	"relatedOtherTaxes": [],
	"optionals": [],
	"paymentMethods": [
		{
			"_id": "5f975a4074f8103e0f082abc",
			"code": "VISACR",
			"name": "Tarjeta VISA Credito",
			"amount": 11.8,
			"surcharge": 2,
			"paymentMethodsInfo": [
  		  	{
				  "_id": "5f975a4074f8103e0f082abd",
    		  	  "key": "DatosTC",
    		  	  "value": "2345 01 123456 0044"
   			},
   		 	{
    			  "_id": "5f975a4074f8103e0f082abe",
    		   	  "key": "Tasas",
    		      "value": "TNA: 0.00% TEA: 0.00% TEM: 0.00% CFT: 0.00%"
       		}        
			]
  		}
	],
	"documentInfo": [
    	{
	   		"_id": "5f975a4074f8103e0f082abf",
       		"key": "footer",    
	   		"value": "Telefono gratuito CABA, area de defensa y proteccion al consumidor 0810-123-0000"
   		}
	], 
	"benefits": [],
	"subTotalAmount": 10,
	"ticketDiscount": 8.6,
	"discountAmount": 18.8,
	"nonTaxedAmount": 0,
	"taxedAmount": 479.34,  
	"amountIVA": 100.66,
	"amountOtherTaxes": 0,
	"exemptAmount": 0,
	"totalAmount": 580,
	"companyCode": "napse",
	"storeCode": "1001",
	"terminalCode": "1002",
	"testMode": true,
	"documentType": "80",
	"identificationNumber": "30470827047",
	"hasCustomer": true,
	"relatedInvoices": [],
	"authorizationCode": "70437875745658",
	"authorizationType": "CAE",
	"authorizationCodeDueDate": "2020-11-05T00:00:00.000Z",
	"invoiceNumber": 2604,
	"pointOfSale": 14,
	"status": "ok",
	"invoiceHour": 0,
	"createdAt": "2020-10-26T23:22:40.643Z",
	"updatedAt": "2020-10-26T23:23:00.095Z",
    "__v": 0
}

c. Tabla de maestros

1: Tipos de documento permitidos

Se listan a continuación los valores posibles.

Algunos de ellos no son utilizados en la solución BRIDGE, se listan todos los existentes hasta el momento, a modo de referencia.


80: CUIT
87: CDI
89: LE
90: LC
86: CUIL
91: CI Extranjera
93: Acta Nacimiento
94: Pasaporte
92: en trámite
96: DNI
 4: CI Corrientes
95: CI Bs. As. RNP
 1: CI Buenos Aires
 0: CI Policía Federal
 3: CI Córdoba
 6: CI Jujuy
 2: CI Catamarca
 8: CI La Rioja
11: CI San Luis
 7: CI Mendoza
13: CI Santiago del Estero
17: CI Chubut
12: CI Santa Fe
19: CI Misiones
 9: CI Salta
 5: CI Entre Ríos
14: CI Tucumán
10: CI San Juan
20: CI Neuquén
22: CI Río Negro
18: CI Formosa
24: CI Tierra del Fuego
16: CI Chaco
99: Doc. (Otro)
23: CI Santa Cruz
21: CI La Pampa


2: Situación impositiva del cliente frente al IVA

Se listan a continuación los valores posibles.


 1: MONOTRIBUTISTA
 2: RESPONSABLE INSCRIPTO
 3: CONSUMIDOR FINAL
 4: IVA EXENTO
 5: IVA NO RESPONSABLE
 6: SUJETO NO CATEGORIZADO
 7: CLIENTE DEL EXTERIOR
 8: PEQUEÑO CONTRIBUYENTE EVENTUAL
 9: MONOTRIBUTISTA SOCIAL
10: PEQUEÑO CONTRIBUYENTE EVENTUAL SOCIAL

3: Conceptos a facturar

Se listan a continuación los valores posibles.


1: Producto 
2: Servicios 
3: Productos y Servicios


4: Tipos de comprobante: 

Se listan a continuación los valores posibles.

Algunos de ellos no son utilizados en la solución BRIDGE, se listan todos los existentes hasta el momento, a modo de referencia.


1: Factura A
2: Nota de Débito A
3: Nota de Crédito A
4: Recibo A
6: Factura B
7: Nota de Débito B
8: Nota de Crédito B
9: Recibo B
11: Factura C
12: Nota de Débito C
13: Nota de Crédito C
15: Recibo C
51: Factura M (CAEA observa comprobante)
52: Nota de Débito M (CAEA observa comprobante)
53: Nota de Crédito M(CAEA observa comprobante)
54: Recibo M
201: Factura de Crédito electrónica MiPyMEs (FCE) A
202: Nota de Débito electrónica MiPyMEs (FCE) A
203: Nota de Crédito electrónica MiPyMEs (FCE) A
206: Factura de Crédito electrónica MiPyMEs (FCE) B
207: Nota de Débito electrónica MiPyMEs (FCE) B
208: Nota de Crédito electrónica MiPyMEs (FCE) B
211: Factura de Crédito electrónica MiPyMEs (FCE) C
212: Nota de Débito electrónica MiPyMEs (FCE) C
213: Nota de Crédito electrónica MiPyMEs (FCE) C

5: Monedas 

Se listan a continuación los valores posibles.


PES: Pesos Argentinos
DOL: Dólar Estadounidense
  2: Dólar Libre EEUU
  7: Florines Holandeses
 10: Pesos Mejicanos
 11: Pesos Uruguayos
 14: Coronas Danesas
 15: Coronas Noruegas
 16: Coronas Suecas
 18: Dólar Canadiense
 19: Yens
 21: Libra Esterlina
 23: Bolívar Venezolano
 24: Corona Checa
 25: Dinar Yugoslavo
 26: Dólar Australiano
 27: Dracma Griego
 28: Florín (Antillas Holandesas)
 29: Güaraní
 31: Peso Boliviano
 32: Peso Colombiano
 33: Peso Chileno
 34: Rand Sudafricano
 36: Sucre Ecuatoriano
 51: Dólar de Hong Kong
 52: Dólar de Singapur
 53: Dólar de Jamaica
 54: Dólar de Taiwan
 55: Quetzal Guatemalteco
 56: Forint (Hungría)
 57: Baht (Tailandia)
 59: Dinar Kuwaiti
 12: Real
 30: Shekel (Israel)
 35: Nuevo Sol Peruano
 60: Euro
 40: Lei Rumano
 42: Peso Dominicano
 43: Balboas Panameñas
 44: Córdoba Nicaragüense
 45: Dirham Marroquí
 46: Libra Egipcia
 47: Riyal Saudita
 61: Zloty Polaco
 62: Rupia Hindú
 63: Lempira Hondureña
 64: Yuan (Rep. Pop. China)
  9: Franco Suizo
 41: Derechos Especiales de Giro
 49: Gramos de Oro Fino

6: Tipos de IVA

Se listan a continuación los valores posibles.


3: 0%
4: 10.5%
6: 27%
8: 5%
5: 21%
9: 2.5%

7: Códigos de Impuesto

Se listan a continuación los valores posibles.

 1: Impuestos nacionales
 3: Impuestos municipales
99: Otro
 2: Impuestos provinciales
 4: Impuestos Internos
 6: Percepción de IVA
 5: IIBB
 9: Otras Percepciones
 8: Percepciones por Impuestos Municipales
13: Percepción de IVA a no Categorizado
 7: Percepción de IIBB

8: Códigos de opcionales permitidos

Se listan a continuación los valores posibles.

   2: RG Empresas Promovidas - Identificador de proyecto vinculado a Régimen de Promoción Industrial
  92: RG Bienes Usados 3411 - Nacionalidad del vendedor del bien usado.
  93: RG Bienes Usados 3411 - Domicilio del vendedor del bien usado.
  91: RG Bienes Usados 3411 - Nombre y Apellido o Denominación del vendedor del bien usado.
   5: Excepción computo IVA Crédito Fiscal
   7: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Carácter del Firmante
  61: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Tipo
1011: RG 3.368 Establecimientos de educación pública de gestión privada - Tipo de Documento
  10: RG 3.368 Establecimientos de educación pública de gestión privada - Actividad Comprendida
1012: RG 3.368 Establecimientos de educación pública de gestión privada - Número de Documento
  62: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Nro
  14: RG 2.863 Agencias de publicidad
  15: RG 2.863 Personas físicas que desarrollen actividad de modelaje
  12: RG 3.687 Locación temporaria de inmuebles con fines turísticos - Actividad Comprendida
  11: RG 2.820 Operaciones económicas vinculadas con bienes inmuebles - Actividad Comprendida
  13: RG 2.863 Representantes de Modelos
2102: Factura de Crédito Electrónica MiPyMEs (FCE) - Alias del Emisor
2101: Factura de Crédito Electrónica MiPyMEs (FCE) - CBU del Emisor
1801: RG 4004-E Locación de inmuebles destino 'casa-habitación'. Clave Única de Identificación Tributaria (CUIT).
1802: RG 4004-E Locación de inmuebles destino 'casa-habitación'. Apellido y nombres, denominación y/o razón social.
  17: RG 4004-E Locación de inmuebles destino 'casa-habitación'. Dato 2 (dos) = facturación directa / Dato 1 (uno) = facturación a través de intermediario
  23: Factura de Crédito Electrónica MiPyMEs (FCE) - Referencia Comercial
  22: Factura de Crédito Electrónica MiPyMEs (FCE) - Anulación


d. Operaciones que no dan lugar al cómputo del crédito fiscal - F. 8001

En caso de que la operación se encuentre alcanzada por este régimen especial, es decir no se encuentran alcanzadas por la restricción para el cómputo del crédito fiscal de conformidad a lo dispuesto en el Artículo 52 del DR 692/98 o la RG 74/98, se deberá enviar campos adicionales en el array optionals

   "optionals": [
       {
      "code": "05",
      "name": "05"
       }
       {
      "code": "07",
      "name": "04"
       }
       {
      "code": "61",
      "name": "96"
       }
       {
      "code": "62",
      "name": "12345678"
       }
	  ],



DescripciónTipo de datoRequeridoValidación
optional
codeCódigo identificador del Opcional de AFIPString (2)Si

05: Excepción computo IVA Crédito Fiscal

07: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Carácter del Firmante

61: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Tipo

62: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Nro

name (estrela)Valor del Parámetro opcional a informar

String (2)

String (2)

String (2)

String (11)

Si

05: Excepción computo IVA Crédito Fiscal

07: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Carácter del Firmante

61: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Tipo

62: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Firmante Doc Nro


(estrela) parámetro name


5: Excepción computo IVA Crédito Fiscal


01 – Locador / Prestador del mismo
02 – Congresos / Eventos
03 – Operación contemplada en RG 74
04 – Bienes de Cambio
05 – Ropa de trabajo
06 – Intermediario


7: RG 3668 Impuesto al Valor Agregado - Art.12 IVA Carácter del Firmante


01 – Titular
02 – Director / Presidente
03 – Apoderado
04 – Empleado


4. SERVICIOS 2G

Este servicio permite la gestión de impresoras de 2da generación y posterior presentación semanal de las declaraciones juradas (los denominados reportes electrónicos) que exige AFIP.

a. Servicios específicos


"notifyJournalFile"

Este servicio es invocado por el agente para indicar la subida de las presentaciones diarias y semanales a Fiscal Flow Server.

Es un método REST cuyo contenido interno es JSON.


{
   "requestCredential":{
      "companyCode":"napse",
      "terminalCode":"1065",
      "storeCode":"1001"
   },

   "fileInfo":{
      "path": "C:\\fiscalFlow\\upload",
      "nameFile": "faup-aut-napse-1001-1065-WALTERHASAR65-65-auditfile-200101-200101.zip"
   }
}


requestCredential (estrella)
companyCode (estrella)Código de compañía, provisto para la empresa que contrata el servicio.990
terminalCode (estrella)Código de terminal / punto de venta.991
storeCode (estrella)Código de tienda992
fileInfo

path

Path o ruta física donde reside el archivo a ser subido vía FTP por el agente


nameFile

Nombre del archivo a ser subido vía FTP por el agente (1)



(1) Formato de nombre del archivo a ser subido:



A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{
   "ack":0
}


Campos en la respuesta
messageDetalle del error (si existiese)
ack

Código de respuesta:

0: ok

3006: Falta el token de acceso
3020: La terminal no existe. Registrarse mediante el servicio clientStatus
3009: Error al obtener los valores de configuración
3007: Error al cargar archivos al FTP
3008: Error de conexión con el servidor
3010: El archivo no existe
3023 : Terminal no registrado para operar en modo 2g. Por favor llame a clientStatus para registrarse (Terminal not registered to operate in 2g mode. Please call clientStatus for register)



"pendingSchedule"

Este servicio es invocado por el agente para indicar el retorno de las agendas diarias y semanales que estén pendientes para una terminal 2G

Es un método REST cuyo contenido interno es JSON.

A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{
   "requestCredential":{
      "companyCode":"napse",
      "terminalCode":"78",
      "storeCode":"1"
   }
    "printerInfo":{
      "pointOfSale":"00001",
      "fiscalSerial":"WALTERHASAR65",
      "lastDeletedJournalNumber": 133 /*El ultimo Z marcado para borrar*/
   }
}


requestCredential (estrella)
companyCode (estrella)Código de compañía, provisto para la empresa que contrata el servicio.990
terminalCode (estrella)Código de terminal / punto de venta.991
storeCode (estrella)Código de tienda992
printerInfo

pointOfSale(estrella)

2G: Punto de Venta (Centro emisor)993

fiscalSerial

2G: Nro serie impresora994
lastDeletedJournalNumber 

El ultimo Z marcado para borrar



A continuación, se expone un ejemplo de la respuesta brindada por el servicio.


{
   "ack":0,
   "message": {
        "actions": [
                {  
                    "type": 'auditFile',
                    "periodFrom": '01/01/2020 00:00:00',
                    "periodTo": '01/01/2020 23:59:59',
                    "force": false
                },
                {  
                    "type": 'presentationFile',
                    "periodFrom": '01/01/2020 00:00:00',
                    "periodTo": '07/01/2020 23:59:59',
                    "force": false
                },
                {  
                    "type": 'agendaDeleteJournalFile',
                    "maxJournalToDelete": '145',
                    "force": true
                }
        ]
    }
}


Campos en la respuesta
messageDetalle del error (si existiese)
ack

Código de respuesta:

0: ok

3006: Falta el token de acceso
3020: La terminal no existe, registrarse a través del método clientStatus


Acciones posibles

getAuditFile: solicita la fila de auditoría diaria que no es presentada en la AFIP para un determinado período e impresora.
getPresentationFile: solicita la fila de auditoria semanal que es presentada en AFIP para un determinado período e impresora.
agendaDeleteJournalFile: informa el máximo archivo Z que la impresora deberá marcar para eliminar.

"Authorize2g"

Este método se utiliza para informar documentos desde un punto de venta que posee impresoras de 2da generación.
Es un método REST cuyo contenido interno es JSON.
Un ejemplo de invocación es: [post] http://[dirección-ip]:[puerto]/api/v1/invoice/authorize2g

PRE-REQUISITO

Para el uso del servicio es necesario informar en el header de la petición el token obtenido a través del servicio "Authenticate" con el parámetro x-access-token 

REQUEST- HEADER


  "x-access-token": token


request
x-access-token
Token obtenido a través del servicio "Authenticate"


REQUEST- BODY




DescripciónTipo de datoRequeridoValidación
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioStringSi

992


terminalCodeCódigo de terminal / punto de ventaStringSi
992
storeCodeCódigo de tiendaString
Si
992
printerInfo
pointOfSale2G: Punto de Venta (Centro Emisor)StringSi

fiscalSerial2G: Nro serie impresoraStringSi

customer
codeCódigo del clienteStringNo

businessNameNombre de la persona / Empresa cliente (Receptor del comprobante)StringSi. No es requerido si se trata de un comprobante distinto de tipo A y se trata de Consumidor Final

fiscalAddressDirección fiscal de la persona / empresaStringNo

cityNombre de la ciudadStringNo

stateNombre de la provinciaStringNo

postalCode

Código postal

String

No

taxCategorySituación impositiva del cliente frente al IVA

Integer (1)

Si4.2 Situación impositiva del cliente
IBCategorySituación impositiva del cliente frente a Ingresos Brutos

String

No

documentTypeTipo de documento de identificación del clienteInteger (2)Si. En caso de tratarse de Consumidor Final y el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019, se deberá enviar 99.4.1 Tipos de documentos permitidosDocTipo
identificationNumberNúmero de identificación del cliente. No es necesario si este fuese consumidor final.NumberSi. En caso de tratarse de Consumidor Final y el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019, el campo deberá ser cero (0).
DocNro
IBIdentificationNumberNúmero de inscripción en Ingresos BrutosNumberNo

personalEmailDirección de correo electrónico del cliente. Es un dato de contacto, no es al que se enviará la factura.StringNo

billingEmail

Dirección de correo electrónico del cliente adonde debe llegar la factura. Corresponde al mail de facturación

StringSi en caso de desear enviar factura por correo electrónico

sendVoucherSi desea marcar la factura para su posterior envío por correo electrónico. Por default es FALSE.String
No

civilStatusEstado civil del cliente. No es necesario si es empresa.StringNo

fiscalDocument
internalId

Número de comprobante interno del punto de venta

Debe ser un identificador único de la transacción de hasta 40 caracteres

AlfanuméricoSi

orderNumber

Número de pedido

NumberNo

operatorCódigo del operador o vendedorStringNo

conceptCodeConceptos a facturarInteger (2)Si4.3 Conceptos a facturarConcepto
invoiceTypeTipo de ComprobanteInteger (3)Si4.4 Tipos de ComprobantesCbteTipo
pointOfSalePunto de Venta (Centro emisor) 2GStringSi

InvoiceNumber

Numero de comprobante 2G

NumberSi

zNumberReferencia al numero de cierre Z.  Si no viene el valor por defecto es fecha del día formato yyyymmddNumberSi

saleConditionCondición de ventaStringSi

currencyCódigo de moneda StringSi4.5 Monedas MonId
currencyChangeCotización de la moneda informadaNumber (10,6)Si
MonCotiz
invoiceDateFecha del documento (Formato: yyyy-mm-dd hh:mm:ss)

Date

Si
CbteFch
paymentDueDateFecha de vencimiento del pago del documento (Formato: yyyy-mm-dd)
DateNo
FchVtoPago
periodStartDatePara servicio (invoiceType=2,3). Fecha de inicio periodo facturado (Formato: yyyy-mm-dd)
DateNo
FchServDesde
periodEndDatePara servicio (invoiceType=2,3). Fecha de fin periodo facturado (Formato: yyyy-mm-dd)
DateNo
FchServHasta

businessDate

Fecha contable del documento (Formato: yyyy-mm-dd)

Si no viene el valor por defecto es fecha del día formato yyyy-mm-dd

DateNo

zNumber

Numero de cierre Z

Si no viene el valor por defecto es fecha del día formato yyyymmdd

Number

No




subtotalAmount

Importe total neto de descuentos e impuestos (IVA y otros impuestos: percepción, impuestos municipales, impuestos internos)

(Comprobantes tipo A: importe sin IVA. Comprobantes tipos B: importe con IVA incluido)


Number (10,2)Si

ticketDiscount

Descuento global sobre la venta (ticket).

Importe sumatorio de todos los descuentos con scope: T (transaction)

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)Si

discountAmount

Importe sumatorio de todos los descuentos de venta (a nivel ítems + a nivel factura o ticket) con scope: I (item) + T (transaction)

(Comprobantes tipo A: total de descuentos neto sin IVA. Comprobantes tipos B: descuentos con IVA incluido)

Number (10,2)Si

nonTaxedAmountImporte conceptos no gravadosNumber (10,2)Si
ImpTotConc
taxedAmount

Importe neto gravado del documento

Suma de relatedTaxes.baseAmount

Number (10,2)Si
ImpNeto
amountIVA

Importe en concepto de IVA

Suma de relatedTaxes.amount

Number (10,2)Si
ImpIVA
amountOtherTaxes

Importe en concepto de Otros Tributos

Suma de relatedOtherTaxes.amount

Number (10,2)Si
ImpTrib
exemptAmountImporte en concepto de valores exentos de impuestosNumber (10,2)Si
ImpOpEx
totalAmountImporte total del documentoNumber (10,2)Si
ImpTotal
relatedInvoices (sólo cuando es una nota de crédito o nota de débito. Obligatorio si no se informa periodo asociado (relatedInvoicesPeriod)) CbtesAsoc
invoiceTypeTipo de Comprobante asociadoInteger (3)Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod 4.4 Tipos de ComprobantesTipo
pointOfSalePunto de venta AFIP del comprobante asociadoString (5)

Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod


PtoVta
invoiceNumber
Número del punto de venta del comprobante asociado
String (8)Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod
Nro
invoiceDateFecha del comprobante asociado (Formato: yyyy-mm-dd)
DateSi en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvoicesPeriod
CbteFch
relatedInvoicesPeriod (sólo cuando es una nota de crédito o nota de débito. Obligatorio si no se informan comprobantes asociados (relatedInvoices))PeriodoAsoc
startDateFecha correspondiente al inicio del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)DateSi en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvioces
FchHasta
endDateFecha correspondiente al fin del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)Date

Si en caso de tratarse de Nota de crédito o Nota de debito y no se informa relatedInvioces


FchDesde
Items
action

Concepto del ítem. S: Sale | R: Return

S: cuando se trata de un producto que suma a la transacción, por ejemplo, un item que se vende.

R: cuando se trata de un producto que resta a la transacción, por ejemplo, un item que se devuelve, o un envase de bebida.

char (1)Si

skuCódigo del producto

String

Si

code

Código secundario del producto.

Se utiliza como codigoMtx: Deberán corresponder a la estructura provista por la ASOCIACION ARGENTINA DE CODIFICACION DE PRODUCTOS COMERCIALES —CODIGO—, códigos GTIN 13, GTIN 12 y GTIN 8, correspondientes a la unidad de consumo minorista o presentación al consumidor final

StringNo

name

Nombre del productoStringSi

qty

Cantidad del producto

NumberSi

um

Unidad de medida del producto.

Valor por defecto: UN

StringNo

serialNumberNúmero de serie del producto en caso de requerirStringNo

lotNumberNúmero de lote o partida del producto en caso de requerirStringNo

barCodeCódigo de barras del productoStringNo

tax

Porcentaje de IVA asociado al ítemNumber (4,2)Si.

Se deberá enviar en 0 (cero) si es exento o no gravado.



taxAmount

Importe de IVA asociado al ítem

Number (10,2)Si

internalTax

Importe de impuestos internos aplicados al ítem (unitario)

Number (10,2)No

discount

Suma de descuentos aplicados. Default 0.0

Suma de items.promotions.amount

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)Si

unitPrice

Precio unitario del producto.

(Comprobantes tipo A: precio neto sin IVA. Comprobantes tipos B: precio IVA incluido)

Number (10,2)Si

totalPrice

Precio unitario del producto x cantidad (qty)

(Comprobantes tipo A: precio neto sin IVA. Comprobantes tipos B: precio IVA incluido)

Number (10,2)Si

promotions
codeCódigo del descuento o PromociónStringNo

scope

Concepto de la promoción. I: Ítem | T: Transacción

I: Cuando se trata de un descuento propio del ítem o producto/servicio

T: Cuando se trata de un descuento a nivel transacción. Se informa de manera prorrateada

Char (1)Si

nameNombre / descripción del descuentoStringNo

amount

Importe aplicado como descuento

(Comprobantes tipo A: descuento neto sin IVA. Comprobantes tipos B: descuento con IVA incluido)

Number (10,2)No

taxAmount

Importe de IVA asociado a la promoción

Number (10,2)No

internalTaxImporte de impuestos internos asociado a la promociónNumber (10,2)No

percentPorcentaje de descuento aplicado. SI no se informa poner 0.0Number (4,2)No

itemInfo
key / value

Colección clave / valor libre para información específica del producto o del negocio.


No

benefits
codeCódigo del beneficioStringNo

nameNombre / descripción del beneficioStringNo

benefitTypeNombre / descripción del tipo de beneficioStringNo

amount

Valor numérico, que representa importe, cantidad de cupones, o puntos

Number (10,2)No

couponCodeCódigo del CUPÓNStringNo

cardTypeCódigo del TIPO DE TARJETAStringNo

cardCodeCódigo de la TARJETA de beneficioStringNo

cardCurrentAmountMonto del beneficio de la TARJETANumber (10,2)No

relatedTaxes AlicIva
amountImporte liquidado según la alícuota de IVANumber (10,2)

Si. No se deberá enviar el array relatedTaxes si es exento o no gravado. Informar en 0 (cero) en caso de tratarse de IVA 0%.


Importe
baseAmountBase imponible para la determinación de la alícuotaNumber (10,2)

Si


BaseImp
codeCódigo del Tipo de IVAInteger (2)

Si

4.6 Tipos de IVAId
nameDescripción del impuestoString

Si



relatedOtherTaxes (solo si hay otros impuestos - percepciones de IVA, percepciones de Ingresos Brutos, Impuestos Internos, retenciones nacionales, municipales, etc.-)

Tributos
amountImporte del impuestoNumber (10,2)No
Importe
baseAmountBase imponible para la determinación del tributoNumber (10,2)No
BaseImp
codeCódigo del Tipo de ImpuestoInteger (2)No4.7 Códigos de ImpuestoId
nameDescripción de impuestoStringNo
Desc
aliquotAlícuotaNumber (3,2)No
Alic
optionals (solo si se encuentra dentro del conjunto de emisores habilitados a informar opcionales) (IMPORTANTE: si se trata de operaciones que no dan lugar al cómputo del crédito fiscal - F. 8001)Opcionales
codeCódigo identificador del Opcional de AFIPStringNo

4.8 Códigos de opcionales permitidos

5. Operaciones que no dan lugar al crédito fiscal F.8001

Id
nameValor del Parámetro opcional a informarVer 5. Operaciones que no dan lugar al crédito fiscal F.8001No
Valor
paymentMethods
codeCódigo del medio de pagoStringSi

nameNombre del medio de pagoStringSi

amountImporteNumber (10,2)Si

surchargeAlícuota de recargoNumber (3,2)No

paymentMethodsInfo




key / valueColección clave / valor de objetos que representan información adicional del pagoArrayNo

documentInfo
key / value

Colección clave / valor de objetos que representan información adicional del documento.


No

Formato y Códigos de Respuesta

A continuación, se expone un ejemplo de la respuesta brindada por el servicio.

{
    "ack": 0,
    "message": "ok"
}


Campos en la respuesta
ack

Código de respuesta:

0: ok