Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.





AR Server - Servicios Facturación electrónica





Este set de servicios 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.

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.

Servicio: Obtener configuración CAEA de terminal (getPosCodeCaea)

Este servicio es invocado por el software cliente para verificar las configuraciones en relación a la modalidad de operación de contingencia CAEA de la terminal consultada.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

http://[dirección-ip]:[puerto]/api/v1/invoice/getPosCodeCaea

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

Elemento

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

Ejemplo:

{
   "requestCredential":{
      "companyCode":"napse",
      "storeCode":"43",
      "terminalCode""45"
   }
}

RESPONSE OK

ElementoTipoDetalle
ackNumber

Valor "0"

afipPosCodeCaea

NumberPunto de venta o centro emisor AFIP asociado a la terminal consultada
operationModeString

Modo de operación de la terminal consultada, siendo las posibles opciones:

  • electronic
  • 2G
modeOfflineAfipbooleanInforma si se encuentra configurada para operar mediante método de contingencia CAEA, en caso de que AFIP se encuentre offline.
modeOfflineStorebooleanInforma si se encuentra configurada para operar mediante método de contingencia CAEA, en caso de que FF server se encuentre offline.

Ejemplo:

{
    "ack"0,
    "afipPosCodeCaea"17,
    "operationMode""electronic",
    "modeOfflineAfip"true,
    "modeOfflineStore"true
}

RESPONSE ERROR

ElementoTipoDetalle
ackString

Código de error.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2007
  • Requirement
    freetextLink
    typeLINK
    keyFF-2015
  • Requirement
    freetextLink
    typeLINK
    keyFF-2008
  • Requirement
    freetextLink
    typeLINK
    keyFF-2061
  • Requirement
    freetextLink
    typeLINK
    keyFF-2018
  • Requirement
    freetextLink
    typeLINK
    keyFF-2999

message

SringDetalle del error.

Ejemplo:

{
    "ack"2061,
    "message""Tienda no existe o es inactiva. No puede seguir operando."
}

Servicio: Obtener contadores de tienda (getStoreCounters)

Este servicio es invocado por el software cliente para obtener la contabilización registrada en Fiscal Flow server sobre la cantidad de comprobantes emitidos en la tienda por CAE y CAEA para el periodo actual (mes-año). Así mismo informa el porcentaje limite a computar sobre la cantidad de comprobantes emitidos por CAE para obtener la cantidad limite de comprobantes que el software cliente puede a autorizar por CAEA.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[post] http://[dirección-ip]:[puerto]/api/v1/invoice/getStoreCounters

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

body

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

Ejemplo:

{
   "requestCredential":{
        "companyCode""tu compañía",
        "storeCode""5202",        
        "terminalCode""20"
    }
}

RESPONSE OK

ElementoTipoDetalla
ackNumber

Valor "0"

companyCode

StringCódigo de compañía
storeCodeStringCódigo de tienda
authCaeCounterNumberContabilización de los comprobantes emitidos por CAE en la tienda consultada
authCaeaCounterNumberContabilización de los comprobantes emitidos por CAEA en la tienda consultada
periodNumberPeriodo correspondiente en función a la fecha de invocación del servicio
percentMarginNumberPorcentaje representativo limite de facturación CAEA configurado en la tienda consultada
permitExcessBooleanInforma si se encuentra activo el check de permitir excederse del porcentaje limite en la tienda consultada

Ejemplo:

{
    "ack"0,
    "companyCode""testqa",
    "storeCode""1001",
    "authCaeCounter"134,
    "authCaeaCounter"61,
    "period"202105,
    "percentMargin"5,
    "miniumQuantityCalculate"100,
    "permitExcess"true
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2064
    (DEPRECADO)
  • Requirement
    freetextLink
    typeLINK
    keyFF-999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2007
  • Requirement
    freetextLink
    typeLINK
    keyFF-2015
  • Requirement
    freetextLink
    typeLINK
    keyFF-2008
  • Requirement
    freetextLink
    typeLINK
    keyFF-2061

messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2061,
    "message""Tienda no existe o es inactiva. No puede seguir operando."
}

Servicio: Obtener CAEAs vigentes (getCaea)

Este servicio es invocado por el software cliente para obtener información sobre el CAEA vigente del periodo y que debe utilizar para autorizar las operaciones que son registradas bajo su responsabilidad.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[post] http://[dirección-ip]:[puerto]/api/v1/invoice/getCaea

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

POST - REQUEST

header

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


Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

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


Ejemplo:

{
   "requestCredential":{
      "companyCode":"napse",
      "storeCode":"43",
      "terminalCode""45"
   }
}

RESPONSE OK

ElementoTipoDetalle
ackNumberValor "0"

caeas

ARRAY

Información sobre el CAEA vigente del periodo

_idStringCódigo interno
caeaStringCódigo de Autorización Electrónico Anticipado
periodNumberPeriodo del CAEA. (yyyymm)
OrderNumberOrden del CAEA dentro del periodo. Quincena 1, Quincena 2
validSinceDateFecha de vigencia de CAEA desde
validUntilDateFecha de vigencia de CAEA hasta
limitDateInformInvoicesDateFecha de tope para informar los comprobantes vinculados al CAEA
companyCodeStringcódigo de compañía

Ejemplo:

{
    "ack"0,
    "caeas": [
        {
            "_id""60602971cda4c8a76d88dd38",
            "caea""31133490971293",
            "period"202104,
            "order"1,
            "validSince""2021-04-01T03:00:00.000Z",
            "validUntil""2021-04-15T03:00:00.000Z",
            "limitDateToInformInvoices""2021-04-20T03:00:00.000Z",
            "companyCode""testqa"
        },
        {
            "_id""6073eff0265c863a36389afc",
            "caea""31153230702470",
            "period"202104,
            "order"2,
            "validSince""2021-04-16T03:00:00.000Z",
            "validUntil""2021-04-30T03:00:00.000Z",
            "limitDateToInformInvoices""2021-05-05T03:00:00.000Z",
            "companyCode""testqa"
        },
        {
            "_id""6087b6707a1d33fdccd38798",
            "caea""31173686554620",
            "period"202105,
            "order"1,
            "validSince""2021-05-01T03:00:00.000Z",
            "validUntil""2021-05-15T03:00:00.000Z",
            "limitDateToInformInvoices""2021-05-20T03:00:00.000Z",
            "companyCode""testqa"
        },
        {
            "_id""609ad2987be5e0726cabfc2a",
            "caea""31193593865056",
            "period"202105,
            "order"2,
            "validSince""2021-05-16T03:00:00.000Z",
            "validUntil""2021-05-31T03:00:00.000Z",
            "limitDateToInformInvoices""2021-06-05T03:00:00.000Z",
            "companyCode""testqa"
        }
    ]
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2007
  • Requirement
    freetextLink
    typeLINK
    keyFF-2015
  • Requirement
    freetextLink
    typeLINK
    keyFF-2008
  • Requirement
    freetextLink
    typeLINK
    keyFF-2061
  • Requirement
    freetextLink
    typeLINK
    keyFF-2018
  • Requirement
    freetextLink
    typeLINK
    keyFF-2999
messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2002,
    "message""User not found"
}


Servicio: Obtener numeración de comprobantes de terminal (getOperationNumbers)

Este servicio es invocado por el software cliente para obtener información sobre el ultimo numero de comprobante para un centro emisor dado que fue autorizado por CAEA (Offline) y que ha sido recepcionado correctamente por el servidor.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[post] http://[dirección-ip]:[puerto]/api/v1/invoice/getOperationNumbers

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

body

ElementoDescripciónTipo Requerido
requestCredential
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioStringSi
terminalCodeCódigo de terminal / punto de ventaStringSi
storeCodeCódigo de tiendaStringSi

Ejemplo:

{
   "requestCredential":{
      "companyCode":"testqa",
      "storeCode":"1001",
      "terminalCode""2G-NC-01"
    }

}

RESPONSE OK

ElementoTipoDetalle
ackNumberValor "0"

operationNumbers

ARRAY

Información sobre el ultimo comprobante informado por tipo de comprobante y centro emisor.

_idStringCódigo interno
companyCodeStringcódigo de compañía
invoiceTypeNumbertipo de comprobante del ultimo documento autorizado/informado
pointOfSaleNumberpunto de venta o centro emisor AFIP del último comprobante autorizado/informado
lastDocumentNumberNumbernumero del último comprobante autorizado/informado

Ejemplo:

{
    "ack"0,
    "operationNumbers": [
        {
            "_id""605dd63ecda4c8a76d88a47d",
            "companyCode""testqa",
            "invoiceType"1,
            "pointOfSale"17,
            "lastDocumentNumber"51
        },
        {
            "_id""605dd63ecda4c8a76d88a481",
            "companyCode""testqa",
            "invoiceType"2,
            "pointOfSale"17,
            "lastDocumentNumber"0
        },  
        {
            "_id""605dd63ecda4c8a76d88a480",
            "companyCode""testqa",
            "invoiceType"8,
            "pointOfSale"17,
            "lastDocumentNumber"0
        }
    ]
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2007
  • Requirement
    freetextLink
    typeLINK
    keyFF-2015
  • Requirement
    freetextLink
    typeLINK
    keyFF-2008
  • Requirement
    freetextLink
    typeLINK
    keyFF-2061
  • Requirement
    freetextLink
    typeLINK
    keyFF-2018
  • Requirement
    freetextLink
    typeLINK
    keyFF-2999
messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2002,
    "message""User not found"
}


Servicio: Autorizar comprobante online (authorize)

Este método se utiliza para autorizar documentos electrónicos.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[post] http://[dirección-ip]:[puerto]/api/v1/invoice/authorize

POST - REQUEST

header

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


Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

ElementoDescripciónTipo
RequeridoElemento AFIP
requestCredentialDetalle de la identificación de la terminal que solicita la autorizaciónObjeto
companyCodeCódigo de compañía, provisto para la empresa que contrata el servicioStringSiN/A
terminalCodeCódigo de terminal / punto de ventaStringSi
N/A
storeCodeCódigo de tiendaString
Si
N/A
customerDetalle del clienteObjeto
documentType

Tipo de documento de identificación del cliente.

Ver: FF - Datos maestros> Tipos de documentos.

Para comprobantes no nominados a consumidores finales (solo cuando el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019) se debe enviar 99 ("otro").

Para comprobantes MiPyME debe ser 80 CUIT. (Ref. AFIP 10015)

Integer (2)Si.
DocTipo
identificationNumber

Número de identificación del cliente.

Para comprobantes no nominados a consumidores finales (solo cuando el monto en pesos resultante del comprobante es menor o igual a lo establecido por la RG 4444/2019) se debe enviar 0.

Para sujetos no categorizados informar 23000000000.

Para comprobantes MiPyME debe estar en el padrón de grandes empresas o haber optado por el régimen. (Ref. AFIP 10180)

Number

Si


DocNro
taxCategory

Situación impositiva del cliente frente al IVA.

Ver: FF - Datos maestros> Situación impositiva del cliente

Integer (1)

Si
IBCategorySituación impositiva del cliente frente a Ingresos Brutos

String

NoN/A
IBIdentificationNumberNúmero de inscripción en Ingresos BrutosNumberNoN/A
sendVoucherSi desea marcar la factura para su posterior envío por correo electrónico. Por default es FALSE.String
NoN/A
billingEmail

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

Es requerido para enviar factura por correo electrónico.

StringNoN/A
personalEmail

Dirección de correo electrónico del cliente.

Es un dato de contacto, no es al que se enviará la factura.

StringNoN/A
codeCódigo del clienteStringNoN/A
businessName

Nombre de la persona / Empresa cliente (Receptor del comprobante)

No es requerido si se trata de un comprobante distinto de tipo A y se trata de Consumidor Final

StringNo
N/A
civilStatus

Estado civil del cliente.

No es necesario si es empresa.

StringNoN/A
fiscalAddressDirección fiscal de la persona / empresaStringNoN/A
cityNombre de la ciudadStringNoN/A
stateNombre de la provinciaStringNoN/A

postalCode

Código postal

String

NoN/A
fiscalDocument Información completa del comprobanteObjeto
internalId

Número de comprobante interno del punto de venta.

Debe ser un identificador único de la transacción para la tienda y terminal.

Alfanumérico(40)SiN/A
conceptCode

Conceptos a facturar.

Ver: FF - Datos maestros> Conceptos a facturar

Integer (2)SiConcepto
invoiceType

Tipo de Comprobante.

Ver: FF - Datos maestros> Tipos de Comprobantes

Para comprobantes MiPYME, de acuerdo al impuesto asociado al cliente en la base de AFIP (Ref. AFIP: 10177)

  • Tipo A: Impuesto al Valor Agregado.
  • Tipo B: Impuesto Exento.
  • Tipo C: Impuesto Iva, Monotributo o Exento.
Integer (3)SiCbteTipo
saleConditionCondición de ventaStringSiN/A
currency

Código de moneda.

Ver: FF - Datos maestros> Monedas

StringSiMonId
currencyChangeCotización de la moneda informadaNumber (10,6)SiMonCotiz
invoiceDate

Fecha de emisión del comprobante.

Formato: yyyy-mm-dd hh:mm:ss

Para concepto igual a 1 (productos):

  • Puede ser hasta 5 días anteriores o posteriores respecto de la fecha de solicitud de autorización.
  • No puede exceder el mes de solicitud de autorización. (Ref. AFIP 10152)

Para otros conceptos:

  • Puede ser hasta 10 días anteriores o posteriores a la fecha de solicitud de autorización..

Para comprobantes del tipo MiPyMEs (FCE):

  • Del tipo Factura, la fecha de emisión del comprobante debe ser desde 5 días anteriores y hasta 1 día posterior respecto de la solicitud de autorización. (Ref. AFIP 10016)
  • Para notas de débito y crédito es hasta 5 dias anteriores y tiene que ser posterior o igual a la fecha del comprobante asociado. (Ref. AFIP 10016)
  • No puede exceder el mes de solicitud de autorización. (Ref. AFIP 10152)

Date

SiCbteFch
paymentDueDate

Fecha de vencimiento del pago del servicio a facturar.

Debe ser igual o posterior a la fecha del comprobante o la fecha de solicitud de autorización (la que sea mayor) (Ref. AFIP 10036/10164).

Formato: yyyy-mm-dd

Dato obligatorio para:

  • Concepto 2 o 3 (Servicios / Productos y Servicios)
  • Facturas del tipo MiPyMEs (FCE). (Ref. AFIP 10163)

NO debe informarse para comprobantes MiPyMEs de crédito/débito que no sean de anulación.

Este dato se ignora si se recibe concepto 1 y no es un comprobante MiPYME.

DateCondicionalFchVtoPago
periodStartDate

Fecha de inicio del servicio facturado (Formato: yyyy-mm-dd)

Requerido si el tipo de concepto a facturar es un Servicio (conceptCode=2,3).

Este dato se ignora si se recibe concepto 1.

DateNoFchServDesde
periodEndDate

Fecha de fin del servicio facturado (Formato: yyyy-mm-dd)

Requerido si el tipo de concepto a facturar es un Servicio (conceptCode=2,3).

Este dato se ignora si se recibe concepto 1.

DateNoFchServHasta

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

DateNoN/A
zNumber

Numero de cierre Z

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

Number

No


N/A
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)SiN/A
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)SiN/A
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)SiN/A
nonTaxedAmountImporte conceptos no gravadosNumber (10,2)SiImpTotConc
taxedAmount

Importe neto gravado del documento

Suma de relatedTaxes.baseAmount.

El error absoluto deberá ser <= 0.01 * cantidad de alícuotas de IVA ingresadas

Number (10,2)SiImpNeto
exemptAmountImporte en concepto de valores exentos de impuestosNumber (10,2)SiImpOpEx
amountIVA

Importe en concepto de IVA

Suma de relatedTaxes.amount

Number (10,2)SiImpIVA
amountOtherTaxes

Importe en concepto de Otros Tributos

Suma de relatedOtherTaxes.amount

Number (10,2)SiImpTrib
totalAmount

Importe total del documento.

Debe ser igual a Importe neto no gravado + Importe exento + Importe neto gravado + todos los campos de IVA al XX% + Importe de tributos:

nonTaxedAmount + exemptAmount + taxedAmount + amountIVA + amountOtherTaxes.

Admite un margen de error absoluto de <= 0.01

Para comprobantes MiPYME tiene que ser superior o igual al configurado en el parámetro myPYMEminAmout. CONFIRMAR con Julieta Belén

Number (10,2)SiImpTotal
orderNumberNúmero de pedidoNumberNoN/A
operatorCódigo del operador o vendedorStringNoN/A
fiscalDocument.relatedTaxes
Detalle de ivas, en caso de no ser exento o no gravado.ARRAYNoAlicIva
code

Código del Tipo de IVA.

Ver: FF - Datos maestros> Tipos de IVA

Integer (2)

Si

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

Si

BaseImp
amount

Importe liquidado según la alícuota de IVA

Informar en 0 (cero) en caso de tratarse de IVA 0%.

Number (10,2)

Si

Importe
name

Descripción del impuesto.

String

No

N/A
fiscalDocument.relatedOtherTaxes
Detalle de otros impuestos - percepciones de IVA, percepciones de Ingresos Brutos, Impuestos Internos, retenciones nacionales, municipales, etc.-ARRAYNoTributos
code

Código del Tipo de Impuesto.

Ver: FF - Datos maestrosCódigos de Impuesto

Si se informa código 99 (otro) se debe informar el nombre del tributo en name.

Integer (2)Id
name

Descripción de impuesto.

Requerido cuando:

  • Tributos no identificados (cuando se informe code = 99 ("otro")
  • Comprobantes MiPyMEs (FCE). (Ref AFIP 10042)
StringCondicionalDesc
baseAmountBase imponible para la determinación del tributoNumber (10,2)BaseImp
aliquotAlícuotaNumber (3,2)NoAlic
amountImporte del impuestoNumber (10,2)
Importe
fiscalDocument.optionals

Requerido:

  • Si se encuentra dentro del conjunto de emisores habilitados a informar opcionales.
  • Si el tipo de comprobante que está autorizando es MiPyMEs (Ref. AFIP 10162)

IMPORTANTE: si se trata de operaciones que no dan lugar al cómputo del crédito fiscal - F. 8001

ARRAYCondicionalOpcionales
code

Código identificador del Opcional de AFIP.

Ver: FF - Datos maestros> Opcionales

StringNoId
nameValor del Parámetro opcional a informarStringNoValor





fiscalDocument.relatedInvoices

Comprobantes asociados a comprobantes de tipo crédito/ débito.

Obligatorio:

  • si no se informa periodo asociado (relatedInvoicesPeriod)
  • si el tipo de comprobante es MiPYME. (Ref. AFIP 10153)
ARRAYNoCbtesAsoc
invoiceType

Tipo de Comprobante asociado.

Ver: FF - Datos maestros> Tipos de Comprobantes

Según relaciones posibles con el comprobante emitido (Ref. AFIP 10040/10157).

Debe ser de la misma clase que el comprobante a autorizar (Ref. AFIP 10186/10187/10193)

Si el tipo de comprobante que está autorizando es MiPyMEs Débito/Crédito sin código de Anulación, es requerido asociar una factura. (Ref. AFIP 10156)

Integer (3)
Tipo
pointOfSalePunto de venta AFIP del comprobante asociadoString (5)


PtoVta
invoiceNumber
Número del punto de venta del comprobante asociado
String (8)Nro
invoiceDate

Fecha del comprobante asociado (Formato: yyyy-mm-dd).

Debe ser menor o igual a la fecha del comprobante que se está autorizando. (Ref. AFIP 10212/10159)

DateCbteFch
fiscalDocument.relatedInvoicesPeriod

Período de emisión del comprobante original, cuando es una nota de crédito o nota de débito.

Obligatorio si no se informan comprobantes asociados (relatedInvoices)

ObjetoNoPeriodoAsoc
startDateFecha correspondiente al inicio del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)DateFchHasta
endDateFecha correspondiente al fin del periodo del comprobante que se quiere identificar (Formato: yyyy-mm-dd)Date

FchDesde
fiscalDocument.Items Listado de artículosARRAYNoN/A
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)SiN/A
skuCódigo del producto

String

SiN/A

name

Nombre del productoStringSiN/A

qty

Cantidad del producto

NumberSiN/A
um

Unidad de medida del producto.

Valor por defecto: UN

String(20)NoN/A

tax

Porcentaje de IVA asociado al ítem.

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

Number (4,2)Si


N/A

taxAmount

Importe de IVA asociado al ítem

Number (10,2)SiN/A
internalTax

Importe de impuestos internos aplicados al ítem (unitario)

Number (10,2)SiN/A
discount

Suma de descuentos aplicados.

Suma de items.promotions.amount

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

Number (10,2)N/A

unitPrice

Precio unitario del producto.

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

Number (10,2)SiN/A
totalPrice

Precio unitario del producto x cantidad (qty)

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

Number (10,2)SiN/A
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

String(40)NoN/A
serialNumberNúmero de serie del producto en caso de requerirStringNoN/A
lotNumberNúmero de lote o partida del producto en caso de requerirStringNoN/A
barCodeCódigo de barras del productoStringNoN/A
fiscalDocument.Items.promotions Detalle de promociones aplicadas a cada item
ARRAYNoN/A
codeCódigo del descuento o PromociónStringNoN/A
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)SiN/A
nameNombre / descripción del descuentoStringNoN/A
amount

Importe aplicado como descuento

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

Number (10,2)No
N/A
taxAmount

Importe de IVA asociado a la promoción

Number (10,2)NoN/A
internalTaxImporte de impuestos internos asociado a la promociónNumber (10,2)NoN/A
percentPorcentaje de descuento aplicado. SI no se informa poner 0.0Number (4,2)No
N/A
fiscalDocument.Items.itemInfo

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

ARRAYNoN/A
key

Clave

StringN/A
valueValorStringN/A
fiscalDocument.benefitsDetalle de beneficios aplicadosARRAYNoN/A
codeCódigo del beneficioStringNo
N/A
nameNombre / descripción del beneficioStringNo
N/A
benefitTypeNombre / descripción del tipo de beneficioStringNo
N/A
amount

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

Number (10,2)No
N/A
couponCodeCódigo del CUPÓNStringNo
N/A
cardTypeCódigo del TIPO DE TARJETAStringNo
N/A
cardCodeCódigo de la TARJETA de beneficioStringNo
N/A
cardCurrentAmountMonto del beneficio de la TARJETANumber (10,2)No
N/A
fiscalDocument.paymentMethodsMétodos de pagoARRAYNoN/A
codeCódigo del medio de pagoStringSiN/A
nameNombre del medio de pagoStringSiN/A
amountImporteNumber (10,2)SiN/A
surchargeAlícuota de recargoNumber (3,2)NoN/A
fiscalDocument.paymentMethods.paymentMethodsInfoColección clave / valor de objetos que representan información adicional del pagoARRAYNoN/A
keyClave para identificar el método de pagoStringN/A
valueValor del método de pagoStringN/A
fiscalDocument.documentInfo

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

ARRAYNoN/A
key

Clave para identificar el dato

StringN/A
valueValor del dato adicionalStringN/A


Ejemplos:

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

RESPONSE OK

ElementoTipoDetalle
urlString

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

qrStringContiene la url a ser incluída en forma de QR en el comprobante, requerido por la AFIP.
authorizationDateDateFecha de vencimiento del CAE | CAEA
authorizationTypeStringCAE | CAEA
authorizationCodeStringCódigo de Autorización Electrónico (CAE) / Código de Autorización Electrónico Anticipado (CAEA)
pointOfSaleStringPunto de venta AFIP (5 dígitos)
invoiceNumberStringNumero de comprobante enviado a la AFIP, se asocia con el centro emisor AFIP utilizado para facturar.
invoiceTypeStringTipo de comprobante autorizado
cbuStringCBU o Alias utilizado para las facturas de crédito electrónicas.
ackNumber

Valor "0"

messageString

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 da como respuesta el mismo mensaje de la transacción original e incluye en este elemento la leyenda "Operacion previamente autorizada para el internalId informado."

Ejemplo:

{
    "url""https://mifactura.napse.global/mf/ff20230/dGVzdHFhXzEwMDFfOTk5OTlfMV9OQy0wMDAwMDAwMTIz",
    "qr""https://www.afip.gob.ar/fe/qr/?p=eyJ2ZXIiOjEsImZlY2hhIjoiMjAyMS0wNS0xOCIsImN1aXQiOjI3Mzg4NDUxODUzLCJwdG9WdGEiOjE4LCJ0aXBvQ21wIjoxLCJucm9DbXAiOjMwMDAsImltcG9ydGUiOjMyMzQuODgsIm1vbmVkYSI6IlBFUyIsImN0eiI6MSwidGlwb0RvY1JlYyI6ODAsIm5yb0RvY1JlYyI6MjczMDE4MzE5ODQsInRpcG9Db2RBdXQiOiJBIiwiY29kQXV0IjoxMjM0NTY3ODkxMjN9",
    "authorizationDate""2021-05-30T03:00:00.178Z",
    "afipAuthorizationType""CAEA",
    "authorizationCode""123456789123",
    "pointOfSale""00018",
    "invoiceNumber""00003000",
    "invoiceType"1,
    "ack"0,
    "message""2050 : Operacion previamente autorizada para el internalId informado."
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    freetextLink
    typeLINK
    keyFF-2000
    : Falta enviar header de la Autorización
  • Requirement
    freetextLink
    typeLINK
    keyFF-2001
    : Formato de credenciales inválidos
  • Requirement
    freetextLink
    typeLINK
    keyFF-2002
    : Usuario no encontrado
  • Requirement
    freetextLink
    typeLINK
    keyFF-2003
    : Contraseña invalida
  • Requirement
    freetextLink
    typeLINK
    keyFF-2004
    : Falta token de acceso
  • Requirement
    freetextLink
    typeLINK
    keyFF-2005
    : Token de acceso no existe
  • Requirement
    freetextLink
    typeLINK
    keyFF-2006
    : Token de acceso caducado
  • Requirement
    freetextLink
    typeLINK
    keyFF-2007
    : Faltan las credenciales de solicitud
  • Requirement
    freetextLink
    typeLINK
    keyFF-2008
    : La compañía no existe
  • Requirement
    freetextLink
    typeLINK
    keyFF-2009
    : Falta enviar Fiscal serial
  • Requirement
    freetextLink
    typeLINK
    keyFF-2010
    : No se encuentra configurado el CAE para la terminal
  • Requirement
    freetextLink
    typeLINK
    keyFF-2011
    : CAEA no existente para el periodo y orden
  • Requirement
    freetextLink
    typeLINK
    keyFF-2012
    : El header de la autorización debe ser de tipo string
  • Requirement
    freetextLink
    typeLINK
    keyFF-2013
    : La propiedad printerInfo debe ser de tipo object
  • Requirement
    freetextLink
    typeLINK
    keyFF-2014
    : La propiedad requestCredential debe ser de tipo object
  • Requirement
    freetextLink
    typeLINK
    keyFF-2015
    : Error de tipo de atributos en las credenciales
  • Requirement
    freetextLink
    typeLINK
    keyFF-2016
    : Falta el documento fiscal
  • Requirement
    freetextLink
    typeLINK
    keyFF-2017
    : La propiedad fiscalDocument debe ser de tipo object
  • Requirement
    freetextLink
    typeLINK
    keyFF-2018
    : La terminal no existe
  • Requirement
    freetextLink
    typeLINK
    keyFF-2019
    : Falta la propiedad fiscalDocument.items
  • Requirement
    freetextLink
    typeLINK
    keyFF-2020
    : Falta la propiedad Customer
  • Requirement
    freetextLink
    typeLINK
    keyFF-2021
    : Falta la propiedad customer.businessName
  • Requirement
    freetextLink
    typeLINK
    keyFF-2022
    : Falta la propiedad customer.documentType
  • Requirement
    freetextLink
    typeLINK
    keyFF-2023
    : Falta la propiedad customer.fiscalAddress
  • Requirement
    freetextLink
    typeLINK
    keyFF-2024
    : Falta la propiedad customer.identificationNumber
  • Requirement
    freetextLink
    typeLINK
    keyFF-2025
    : Falta la propiedad fiscalDocument.relatedInvoices
  • Requirement
    freetextLink
    typeLINK
    keyFF-2026
    : Falta la propiedad fiscalDocument.conceptCode
  • Requirement
    freetextLink
    typeLINK
    keyFF-2027
    : Falta la propiedad fiscalDocument.internalNumber
  • Requirement
    freetextLink
    typeLINK
    keyFF-2028
    : Falta la propiedad fiscalDocument.invoiceDate
  • Requirement
    freetextLink
    typeLINK
    keyFF-2029
    : Falta la propiedad fiscalDocument.invoiceType
  • Requirement
    freetextLink
    typeLINK
    keyFF-2030
    : Falta la propiedad fiscalDocument.nonTaxedAmount
  • Requirement
    freetextLink
    typeLINK
    keyFF-2031
    : Falta la propiedad fiscalDocument.totalAmount
  • Requirement
    freetextLink
    typeLINK
    keyFF-2032
    : Falta la propiedad fiscalDocument.relatedOtherTaxes
  • Requirement
    freetextLink
    typeLINK
    keyFF-2033
    : La propiedad fiscalDocument.optional tiene valores incorrectos
  • Requirement
    freetextLink
    typeLINK
    keyFF-2034
    : La propiedad fiscalDocument ya existe
  • Requirement
    freetextLink
    typeLINK
    keyFF-2035
    : Falta la propiedad fiscalDocument.relatedInvoicesPeriod
  • Requirement
    freetextLink
    typeLINK
    keyFF-2040
    : Falta la propiedad fiscalDocument.invoiceNumber
  • Requirement
    freetextLink
    typeLINK
    keyFF-2041
    : Falta la propiedad fiscalDocument.pointOfSale
  • Requirement
    freetextLink
    typeLINK
    keyFF-2042
    : La terminal esta configurada oara operar en modo 2G. Por favor cambie la configuración, comuniquese mediante el servicio clientStatus e intente nuevamente.
  • Requirement
    freetextLink
    typeLINK
    keyFF-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.
  • Requirement
    freetextLink
    typeLINK
    keyFF-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.
  • Requirement
    freetextLink
    typeLINK
    keyFF-2045
    : Falta la propiedad fiscalDocument.zNumber
  • Requirement
    freetextLink
    typeLINK
    keyFF-2046
    : Falta la propiedad printerInfo
  • Requirement
    freetextLink
    typeLINK
    keyFF-2047
    : Falta la propiedad printerInfo.fiscalSerial
  • Requirement
    freetextLink
    typeLINK
    keyFF-2048
    : Falta la propiedad printerInfo.pointOfSale
  • Requirement
    freetextLink
    typeLINK
    keyFF-2900
    : Las credenciales son invalidas
  • Requirement
    freetextLink
    typeLINK
    keyFF-2997
    : Timeout
  • Requirement
    freetextLink
    typeLINK
    keyFF-2998
    : AFIP rechazo la solicitud de autorización
  • Requirement
    freetextLink
    typeLINK
    keyFF-2999
    : Error interno del servidor3
  • Requirement
    freetextLink
    typeLINK
    keyFF-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
  • Requirement
    freetextLink
    typeLINK
    keyFF-4998
    : Autorización en curso: Esperando respuesta de AFIP (reintente en unos segundos)
  • Requirement
    freetextLink
    typeLINK
    keyFF-4999
    : Fuera de servicio WebService de AFIP
messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2002,
    "message""User not found"
}


Servicio: Autorizar comprobante offline (offline)

Este servicio se utiliza para enviar los fiscalDocuments que el software cliente registro, autorizo y guardo por el metodo CAEA.

El servidor recibe y registra operaciones realizadas por CAEA.

Si al recibir un pedido de registro de un documento autorizado por CAEA, se rechaza por algún motivo (excepto por errores en las credenciales que no permitan identificar al emisor), se registra un pedido de alerta y se envia un mail periódico con el detalle de todos los documentos fiscales rechazados por el server, de la compañía. Los documentos rechazados pueden ser consultados desde la sección Monitoreo> Auditoría de documentos fiscales.

Expandir

Este servicio se utiliza para obtener la información de la compañía, canal de venta y tienda necesarios para ser utilizados por los sistemas externos.

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

[post] http://[dirección-ip]:[puerto]/api/v1/invoice/offline

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

Al request de la autorización online se agregan:

  • Sección para enviar el listado de errores causantes de la autorización por CAEA (elemento fiscalDocumentLog)
  • Se agregan datos al elemento fiscalDocument, que en el caso de autorizar por CAEA son gestionados por el agente:
    • pointOfSale + invoiceNumber: número de comprobante generado
    • authorizationCode + authorizationCodeDueDate: identificación de la autorización de AFIP.
ElementoDescripciónTipo
RequeridoElemento AFIP

fiscalDocumentLog

Listado de los errores asociados al comprobante que se quiere autorizar, informados al solicitar la autorización por CAE.ARRAYNo
codeCorresponde al código obtenido en el atributo "ack"NumberNo
messageCorresponde al mensaje obtenido en el atributo "message"StringNo
date

Fecha del error con formato "YYYY-MM-DDTHH:MI:SS.SSSZ" (con el timezone que corresponde).

Por default o si no se recibe un formato de fecha correcto, registra la fecha en que se recibe la petición.

StringNo
fiscalDocument Información completa del comprobanteObjeto
pointOfSalePunto de venta AFIPNumber (5)SiPtoVta
invoiceNumber

Numero de comprobante enviado a la AFIP, se asocia con el centro emisor AFIP utilizado para facturar.

Number (8)Si

CbteDesde

CbteHasta

authorizationCodeNúmero de CAEA que se utilizó para registrar el authorizeStringSiCAEA
authorizationCodeDueDateFecha de vencimiento del CAEADateSi
authorizationType <DEPRECADO>Tipo de autorizaciónStringSI
status <DEPRECADO>Es el estado del fiscalDocument. Siempre será pendiente ya que los fiscalDocuments del tipo CAEA, quedan pendientes hasta que el Server no los envie a AFIP.StringSi


Ejemplo:

Expandir

{
    "requestCredential": {
        "companyCode""testqa",
        "storeCode""1001",
        "terminalCode""99999"
    },

    "fiscalDocumentLog": [
        {
            "code"1234,
            "message""Detalle del error",
            "date""2021-06-01T03:00:00.000Z"
        }
    ],
    "fiscalDocument": {
        "internalId""NC-1000000125",
        "conceptCode"1,
        "invoiceType"1,
        "saleCondition""CONDICION DE VENTA",
        "currency""PES",
        "currencyChange"1,
        "invoiceDate""2021-05-20T11:00:07.178-0300",
        "pointOfSale"18,
        "invoiceNumber"123456,
        "authorizationCode""111122223333",
        "authorizationCodeDueDate""2021-05-20T11:00:07.178-0300",
        "zNumber"21031801,
        "subTotalAmount"2681.01,
        "nonTaxedAmount"0,
        "taxedAmount"2637.49,
        "exemptAmount"0,
        "amountIVA"553.87,
        "amountOtherTaxes"43.52,
        "discountAmount"0,
        "ticketDiscount"0,
        "totalAmount"3234.88,
        "orderNumber""123456",
        "operator""NOELIA",
        "relatedTaxes": [
            {
                "code"5,
                "amount"553.87,
                "name""IVA 21%",
                "baseAmount"2637.49
            }
        ],
        "relatedOtherTaxes": [
            {
                "code"7,
                "aliquot"0.4,
                "amount"10.55,
                "name""05-Per.IIBB Bs.As.",
                "baseAmount"2637.5
            },
            {
                "code"7,
                "aliquot"0.75,
                "amount"19.78,
                "name""05-Per.IIBB Corrientes",
                "baseAmount"2637.33
            },
            {
                "code"7,
                "aliquot"0.5,
                "amount"13.19,
                "name""05-Per.IIBB Capital",
                "baseAmount"2638
            }
        ],
        "paymentMethods": [
            {
                "surcharge""0.0",
                "code""8",
                "amount"3234.88,
                "paymentMethodsInfo": [
                    {
                        "key""add2",
                        "value"" SU VUELTO:    65,12 "
                    },
                    {
                        "key""add1",
                        "value"" SU PAGO:    3300,00 "
                    }
                ],
                "name""Efectivo"
            }
        ],
        "items": [
            {
                "action""S",
                "discount"0,
                "unitPrice"121.46,
                "qty"21,
                "internalTax"0,
                "um""Unidad",
                "taxAmount"535.65,
                "taxBase"2550.72,
                "code""013320503111",
                "totalPrice"2550.72,
                "tax"21,
                "name""desodorante masculino AXE",
                "sku""779129302583"
            },
            {
                "action""S",
                "discount"0,
                "unitPrice"8.26,
                "qty"2,
                "internalTax"0,
                "um""Unidad",
                "taxAmount"3.48,
                "taxBase"16.52,
                "code""014730102013",
                "totalPrice"16.52,
                "tax"21,
                "name""pa�uelos descartables ELITE",
                "sku""779025000035"
            },
            {
                "action""S",
                "discount"0,
                "unitPrice"8.27,
                "qty"1,
                "internalTax"0,
                "um""Unidad",
                "taxAmount"1.73,
                "taxBase"8.27,
                "code""014730102013",
                "totalPrice"8.27,
                "tax"21,
                "name""pa�uelos descartables ELITE",
                "sku""779025000035"
            },
            {
                "action""S",
                "discount"0,
                "unitPrice"59.51,
                "qty"1,
                "internalTax"0,
                "um""Unidad",
                "taxAmount"12.49,
                "taxBase"59.51,
                "code""011460302001",
                "totalPrice"59.51,
                "tax"21,
                "name""Fideos DON FELIPE tallarines al huevo",
                "sku""7790532"
            },
            {
                "action""S",
                "discount"0,
                "unitPrice"2.47,
                "qty"1,
                "internalTax"0,
                "um""Unidad",
                "taxAmount"0.52,
                "taxBase"2.47,
                "code""053240101024",
                "totalPrice"2.47,
                "tax"21,
                "name""gorro bebe UCF2 rayado",
                "sku""1234"
            }
        ],
        "documentInfo": [
            {
                "key""pm_mensaje1",
                "value""Mando algo en mensaje 1"
            },
            {
                "key""pm_mensaje2",
                "value"""
            }
        ]
    },
    "customer": {
        "postalCode"1607,
        "identificationNumber"27301831984,
        "taxCategory"2,
        "state""Buenos Aires",
        "businessName""NOE.JS 4 S.A.",
        "documentType"80,
        "fiscalAddress""ARGERICH 1016",
        "city""SAN ISIDRO",
        "billingEmail""noeliac@napse.global"
    }
}

RESPONSE OK

ElementoTipoDetalle
urlString

Se envía vacío.

qrStringSe envía vacío.
authorizationDateDateFecha de vencimiento del CAE | CAEA
authorizationTypeStringCAE | CAEA
authorizationCodeStringCódigo de Autorización Electrónico (CAE) / Código de Autorización Electrónico Anticipado (CAEA)
pointOfSaleStringPunto de venta AFIP (5 dígitos)
invoiceNumberStringNumero de comprobante enviado a la AFIP, se asocia con el centro emisor AFIP utilizado para facturar.
invoiceTypeStringTipo de comprobante autorizado
ackNumber

Valor "0", si su valor es diferente de "0" se debe evaluar el numero de error informado para tomar la o las acciones necesarias.

messageString

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 da como respuesta el mismo mensaje de la transacción original e incluye en este elemento la leyenda "Operacion previamente autorizada para el internalId informado."

Ejemplo:

{
    "url""",
    "qr""",
    "authorizationDate""2021-05-20T14:00:07.178Z",
    "afipAuthorizationType""CAEA",
    "authorizationCode""123456789",
    "pointOfSale""00018",
    "invoiceNumber""00123456",
    "invoiceType"1,
    "ack"0,
    "message""2050 : Operacion previamente autorizada para el internalId informado."
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
    Token de acceso no existe
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
    Falta token de acceso
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
    Token de acceso caducado
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
    Error de tipo de datos en los parámetros.
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2007
    Faltan las credenciales de solicitud
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2015
    Error de tipo de atributos en las credenciales

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2008
    La compañía no existe

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2061
    La tienda no está activa.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2018
     La terminal no existe

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2016
     Falta el documento fiscal

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2064
    Faltan parámetros requeridos.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
    Error en el tipo de datos de los parámetros.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2065
    Error en validación de negocio de los parámetros.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2050

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2020
    Falta la propiedad Customer

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2901
    Faltan datos del cliente. 

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2019
    Falta la propiedad fiscalDocument.items

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2036
    Se excede la cantidad permitida de datos adicionales de los ítems (10).

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2053
    Falta detalle de otros impuestos.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2900
    Faltan datos en el documento fiscal

  • Requirement
    freetextLink
    typeLINK
    keyFF-2907
    Operartion in progress...

  • Requirement
    freetextLink
    typeLINK
    keyFF-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

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
    Error interno del servidor


Ejemplo:

{
    "ack"2900,
    "message""fiscalDocument request is incomplete: Path `invoiceNumber` is required"
}


BLOQUEOS DEL SERVICIO:

El presente servicio implementa internamente un protección por cache a fin de prevenirse que un software cliente envié repetidamente operaciones identicas o con sus claves iguales.

Ud (Software cliente) al enviar una petición debe esperar la respuesta del servicio expuesto por Fiscal Flow. Si omite esta espera y envia nuevamente la operación seguramente recibira una de las siguientes respuestas:

ack: 2907, message: "Operation in progress" (la operación fue enviada previamente y la misma todavía esta en curso de ser tratada).

El servicio validara las operación conformando las siguientes claves:

companyCode.sotoreCode.terminalCode.invoiceType-pointOfSale-invoiceNumber


VALIDACIÓN DE EXISTENCIA PREVIA DE LA OPERACION:

En el caso del presente servicio, existe un parámetro de configuración en la consola que permite ajustar la clave que se utilizara para realizar la validación de existencia de una operación que reciba en el servicio offline. Puede cambiar el valor de este modo de validación en "Administración"-"Configuración"-"Server" opción: código: validateExistingOfflineStrict, Nombre: Validación de ingreso de operaciones autorizadas por CAEA Modo estricto: (true/false)

Si esta opción esta en false: La clave única de persistencia y validación de existencia previa quedara conformada por: companyCode-storeCode-terminalCode-internalId-invoiceType

Si esta opción esta en true: La clave única de persistencia y validación de existencia previa quedara conformada por: companyCode-storeCode-terminalCode-internalId-invoiceType-pointOfSale-invoiceNumber

Cuando ud, envie una operación previamente registrada el servicio dara una respuesta de este estilo:

{
    "url""",
    "qr""",
    "authorizationDate""2021-05-20T14:00:07.178Z",
    "afipAuthorizationType""CAEA",
    "authorizationCode""123456789",
    "pointOfSale""00018",
    "invoiceNumber""00123456",
    "invoiceType"1,
    "ack"0,
    "message""2050 : Operacion previamente autorizada para el internalId informado."
}



Servicio: Consultar documento fiscal (fiscalDocuments)

Este servicio permite consultar un documento fiscal de acuerdo a su identificación por número interno, tienda y terminal.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

GET - REQUEST

params

ElementoTipoDetalle
invoiceTypeNumber

Tipo de comprobante.

Ver: FF - Datos maestrosTipos de Comprobantes

internalIdStringNúmero interno, único por tienda y terminal.

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

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

Ejemplo:

{
    "requestCredential": {
        "companyCode""testqa",
        "storeCode""1001",
        "terminalCode""99999"
    }
}

RESPONSE OK

ElementoTipoDetalle
ackNumber

Valor "0"

messageObjeto

Detalle del documento fiscal.

Consultar estructura completa en servicio authorize.

Si no se encuentra el documento fiscal, se devuelve un objeto vacío.

Ejemplo:

Expandir

{
    "ack"0,
    "message": {
        "authorizeInfo": [],
        "attempts"0,
        "zNumber"21031801,
        "authResponseTime"0,
        "authAfipResponseTime"0,
        "processed"true,
        "offlineReason""INT",
        "internalId""NC-1000000400",
        "conceptCode"1,
        "invoiceType"1,
        "saleCondition""CONDICION DE VENTA",
        "currency""PES",
        "currencyChange"1,
        "invoiceDate""2021-05-20T14:00:07.178Z",
        "pointOfSale""18",
        "invoiceNumber"123456,
        "authorizationCode""111122223333",
        "authorizationCodeDueDate""2021-05-20T14:00:07.178Z",
        "subTotalAmount"2681.01,
        "nonTaxedAmount"0,
        "taxedAmount"2637.49,
        "exemptAmount"0,
        "amountIVA"553.87,
        "amountOtherTaxes"43.52,
        "discountAmount"0,
        "ticketDiscount"0,
        "totalAmount"3234.88,
        "orderNumber"123456,
        "operator""NOELIA",
        "relatedTaxes": [
            {
                "code"5,
                "amount"553.87,
                "name""IVA 21%",
                "baseAmount"2637.49
            }
        ],
        "relatedOtherTaxes": [
            {
                "code"7,
                "aliquot"0.4,
                "amount"10.55,
                "name""05-Per.IIBB Bs.As.",
                "baseAmount"2637.5
            },
            {
                "code"7,
                "aliquot"0.75,
                "amount"19.78,
                "name""05-Per.IIBB Corrientes",
                "baseAmount"2637.33
            },
            {
                "code"7,
                "aliquot"0.5,
                "amount"13.19,
                "name""05-Per.IIBB Capital",
                "baseAmount"2638
            }
        ],
        "paymentMethods": [
            {
                "surcharge"0,
                "code""8",
                "amount"3234.88,
                "paymentMethodsInfo": [
                    {
                        "key""add2",
                        "value"" SU VUELTO:    65,12 "
                    },
                    {
                        "key""add1",
                        "value"" SU PAGO:    3300,00 "
                    }
                ],
                "name""Efectivo"
            }
        ],
        "items": [
            {
                "um""Unidad",
                "action""S",
                "discount"0,
                "unitPrice"121.46,
                "qty"21,
                "internalTax"0,
                "taxAmount"535.65,
                "code""013320503111",
                "totalPrice"2550.72,
                "tax"21,
                "name""desodorante masculino AXE",
                "sku""779129302583",
                "promotions": [],
                "itemInfo": []
            },
            {
                "um""Unidad",
                "action""S",
                "discount"0,
                "unitPrice"8.26,
                "qty"2,
                "internalTax"0,
                "taxAmount"3.48,
                "code""014730102013",
                "totalPrice"16.52,
                "tax"21,
                "name""pa�uelos descartables ELITE",
                "sku""779025000035",
                "promotions": [],
                "itemInfo": []
            },
            {
                "um""Unidad",
                "action""S",
                "discount"0,
                "unitPrice"8.27,
                "qty"1,
                "internalTax"0,
                "taxAmount"1.73,
                "code""014730102013",
                "totalPrice"8.27,
                "tax"21,
                "name""pa�uelos descartables ELITE",
                "sku""779025000035",
                "promotions": [],
                "itemInfo": []
            },
            {
                "um""Unidad",
                "action""S",
                "discount"0,
                "unitPrice"59.51,
                "qty"1,
                "internalTax"0,
                "taxAmount"12.49,
                "code""011460302001",
                "totalPrice"59.51,
                "tax"21,
                "name""Fideos DON FELIPE tallarines al huevo",
                "sku""7790532",
                "promotions": [],
                "itemInfo": []
            },
            {
                "um""Unidad",
                "action""S",
                "discount"0,
                "unitPrice"2.47,
                "qty"1,
                "internalTax"0,
                "taxAmount"0.52,
                "code""053240101024",
                "totalPrice"2.47,
                "tax"21,
                "name""gorro bebe UCF2 rayado",
                "sku""1234",
                "promotions": [],
                "itemInfo": []
            }
        ],
        "documentInfo": [
            {
                "key""pm_mensaje1",
                "value""Mando algo en mensaje 1"
            },
            {
                "key""pm_mensaje2",
                "value"""
            }
        ],
        "companyCode""testqa",
        "storeCode""1001",
        "terminalCode""99999",
        "testMode"true,
        "documentType""80",
        "identificationNumber""27301831984",
        "hasCustomer"true,
        "relatedInvoices": [],
        "optionals": [],
        "benefits": [],
        "authorizationType""CAEA",
        "status""pending",
        "invoiceHour"11,
        "createdAt""2021-05-20T15:41:31.738Z",
        "updatedAt""2021-05-20T15:42:00.423Z",
        "__v"0
    }
}

RESPONSE ERROR

ElementoTipoDetalle
ackString

Código de error.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    freetextLink
    typeLINK
    keyFF-2064
  • Requirement
    freetextLink
    typeLINK
    keyFF-999

message

SringDetalle del error.

Ejemplo:

{
    "ack"2005,
    "message""Access token does not exists"
}

Servicio: Almacenar documento no fiscal (nonFiscalDocument)

FF ofrece este servicio para almacenar los documentos no fiscales emitidos en el punto de venta y permite su consulta desde la consola de administración.

FF identifica a un documento no fiscal por la combinación de códigos de compañía, tienda, terminal y número de transacción (transactionNumber). En caso de recibir un pedido de almacenar un documento ya existente, informa código de error 2903.

Si al recibir un pedido de registro de un documento no fiscal, se rechaza por algún motivo (excepto por errores en las credenciales que no permitan identificar al emisor), se registra un pedido de alerta y se envia un mail periódico con el detalle de todos los documentos no fiscales rechazados, de la compañía. Los documentos rechazados pueden ser consultados desde la sección Monitoreo> Auditoría de documentos fiscales.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[POST] http://[dirección-ip]:[puerto]/api/v1/nonfiscalDocument

POST - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

Elemento

Tipo de datoRequeridoDetalle
requestCredentialObjeto
companyCodeString SiCódigo de compañía, provisto para la empresa que contrata el servicio.
storeCodeStringSiCódigo de tienda
terminalCodeStringSiCódigo de terminal / punto de venta

nonFiscalDocument

ObjetoDetalle del documento no fiscal

documentType

String

Código del tipo de documento.

documentTypeName

String

Nombre del tipo de documento.

issueDate

String

Fecha emisión del documento.

internalId

String

Código único dentro de la compañía, tienda y terminal.

transactionNumber

Number

Número de transacción.

operatorName

String

Código de operador.

lines[]

Array<Objeto>

Líneas dentro del documento no fiscal.

    lineString(48)

Datos de la línea a ser impresa.

Las líneas en blanco deben ser informadas con al menos un espacio.

No se admiten strings vacíos ("").

Ejemplo:

{
    "requestCredential": {
        "companyCode""testqa",
        "storeCode""1001",
        "terminalCode""99999"
    },
    "nonFiscalDocument": {
        "documentType""1",
        "documentTypeName""Retiro",
        "documentFormat"1,
        "issueDate""2021-01-13T17:06:45.091-0300",
        "internalId""102",
        "transactionNumber"5679,
        "operatorName""JPEREZ",
        "lines": [
            {                "line""              COMPROBANTE NO FISCAL"},
            {                "line""             NO VÁLIDO COMO FACTURA"},
            {                "line""------------------------------------------------"},
            {                "line"" "},
            {                "line""                  EASY PALERMO"},
            {                "line""CENCOSUD S.A."},
            {                "line""CUIT: 30-59036076-3 – IIBB - CM: 30-59036076-3"},
            {                "line""DOM.COM.: AV.BULLRICH 345"},
            {                "line""CABA (1425)"},
            {                "line""DOM.LEGAL: SUIPACHA 1111 PISO 18 CABA."},   
            {                "line""INICIO ACTIVIDAD: 13/06/2007"},
            {                "line""IVA RESPONSABLE INSCRIPTO"},
            {                "line""------------------------------------------------"},
            {                "line"" "},
            {                "line""28/08/2020 15:56:22             NRO.TIENDA: 0433"}, 
            {                "line""NRO.CAJA: 15                    NRO.TICKET: 5678"}, 
            {                "line""CAJERO: 00004188                NRO. RETIRO: 1"},
            {                "line""------------------------------------------------"},
            {                "line"" "},
            {                "line""                      RETIRO"},
            {                "line""------------------------------------------------"},
            {                "line"" "},
            {                "line""PESOS                                   85000,00"},
            {                "line""EFECTIVO                                85000,00"},
            {                "line""------------------------------------------------"},
            {                "line""                OPERACIÓN FINALIZADA"},
            {                "line""------------------------------------------------"},
            {                "line"" "},
            {                "line""            ____________________________"},
            {                "line"" "},
            {                "line""                     FIRMA"},
            {                "line"" "},
            {                "line""------------------------------------------------"},
            {                "line""        RETIRO ENVIADO, VALORES A CONTROLAR"},
            {                "line"" "},
            {                "line""------------------------------------------------"},
            {                "line""             COMPROBANTE NO FISCAL"},
            {                "line""            NO VÁLIDO COMO FACTURA"}
        ]
    }
}

RESPONSE OK

ElementoTipoDetalle
ackString

Valor "0"

message

SringValor "ok"


Ejemplo:

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

RESPONSE ERROR


ElementoTipoDetalle
ackString

Código de error:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2007
    Faltan las credenciales de solicitud
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2008
    La compañía no existe

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2015
    Error de tipo de atributos en las credenciales

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2018
     La terminal no existe

  • Requirement
    freetextLink
    typeLINK
    keyFF-2903

message

SringDetalle del error.

Ejemplo:

{
    "ack"2061,
    "message""Tienda no existe o es inactiva. No puede seguir operando."
}


BLOQUEOS DEL SERVICIO:

El presente servicio implementa internamente un protección por cache a fin de prevenirse que un software cliente envié repetidamente operaciones identicas o con sus claves iguales.

Ud (Software cliente) al enviar una petición debe esperar la respuesta del servicio expuesto por Fiscal Flow. Si omite esta espera y envía nuevamente la operación seguramente recibira una de las siguientes respuestas:

ack: 2907, message: "Operation in progress" (la operación fue enviada previamente y la misma todavía esta en curso de ser tratada).

El servicio validara las operación conformando las siguientes claves:

companyCode.sotoreCode.terminalCode.internalId


FORZAR BLOQUEDO EN HORARIOS PROGRAMADOS:

Ud. dispone de un parámetro de configuración en la consola que le permitira forzar el bloqueo de este servicio por rango horario (mismo día). Si ud activa esta configuración, durante el rango horario indicado el servicio siempre dará la siguiente respuesta: ack: 2907, message: "Operation in progress", la operación sera ignorada, rechazada y no se estara disponible en fiscal flow.

Para activar o desactivar esta configuración debe ingresar a la consola a la opción: "Administración"-"Configuración"-"Server" opción: código: nonFiscalDocumentsTemporalBlock, Nombre: Bloquear recepcion de documentos NO fiscales en el rango de horario fijado (parametro: HORA INICIO-HORA FIN, formato hora: HH:mm-HH:mm). Desactivado si el valor es off (o formato incorrecto).



Servicio: Consultar comprobante (pdf)

Servicio disponible para la obtención del comprobante de un documento fiscal. Brinda la url desde la cual es posible la descarga.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[GET] http://{{ip}}/api/v1/invoice/pdf?companyCode={{companyCode}}&invoiceType={{invoiceType}}&pointOfSale={{pointOfSale}}&invoiceNumber={{invoiceNumber}}

GET - REQUEST

QUERY paramETERS

ElementoTipoRequeridoDetalle
companyCodeStringCódigo de la compañía.
invoiceType
Number

Código de tipo de comprobante.

Ver: FF - Datos maestros>  Tipos de Comprobantes

pointOfSaleNumber

Número de punto de venta.

Sin 0 a izquierda.

invoiceNumberNumber

Número de comprobante.

Sin 0 a izquierda.

Ejemplo:

http://10.4.201.52/api/v1/invoice/pdf?companyCode=testqa&invoiceType=1&pointOfSale=17&invoiceNumber=123456

header

ElementoValor

x-access-token

Token obtenido a través del servicio "Authenticate"

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

RESPONSE OK

ElementoTipoDetalle

url

String

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

ackNumberCódigo de error. Valor = 0


Ejemplo:

Expandir

{
    "url""https://mifactura.napse.global/mf/ff20230/dGVzdHFhXzEwMDFfOTk5OTlfNl9OQy0xMDAwMDAwNTAyMg=="
    "ack"0
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código del error:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
    Access token is missing.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
    Access token expired.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
    Access token does not exists for the company.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2064
    Missing required parameter.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
    Some parameter has incorrect data type.

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2065
    Business error in the parameters:

    • Tipo de comprobante incorrecto
    • Punto de venta inexistente para la compañía.
    • Comprobante no existente.
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
     Internal Server Error.

messageStringDetalle del error.


Ejemplo:

{
    "ack"2005,
    "message""Access token does not exists for the company"
}


Servicio: Obtener Padrón de receptores de FCE (miPYMERegistry)

Este servicio es invocado por el software cliente para obtener el padrón completo de todos los CUITs de los clientes adheridos como receptores al sistema de facturación de crédito electrónica.

En caso de que la empresa emita FCE (se configura en la compañía), y se produzca una venta mayor a un cierto límite, se deberá consultar si el receptor está dentro de este padron, en cuyo caso deberá emitirse una FCE y no una factura común.

Expandir

Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".

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

[GET] http://[dirección-ip]:[puerto]/api/v1/invoice/miPYMERegistry

GET - REQUEST

header

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

Ejemplo:

x-access-token:  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE

BODY

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


Ejemplo:

{
   "requestCredential":{
      "companyCode":"napse",
      "storeCode":"43",
      "terminalCode""45"
   }
}

RESPONSE OK

ElementoTipoDetalle
ackNumberValor "0"

miPYMERegistry

ARRAY

Información sobre las empresas receptoras de FCE

cuitStringCuit de la empresa
startDateStringFecha de adhesión, con formato "YYYY-MM-DD"

Ejemplo:

{
    "ack"0,
    "miPYMERegistry": [
        {
            "cuit""27301831981",
            "startDate""2020-06-26"
        },

        {
            "cuit""2026769790",
            "startDate""2021-03-24"
        }
    ]
}

RESPONSE ERROR

ElementoTipoDetalle
ackNumber

Código de error. Siendo los valores posibles:

  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2004
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2051
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2005
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2006
  • Requirement
    spaceKeySYNTHESIS
    freetextLink
    typeLINK
    keyFF-2999
messageStringDetalle del tipo del error.

Ejemplo:

{
    "ack"2004,
    "message"" Access token is missing"
}