ARCA integration · Argentina

Electronic invoicing that never stops your till.

Kubrik POS talks directly to ARCA's web services, with no middleman. Every sale gets its CAE in seconds. If ARCA goes down, the till switches to CAEA contingency on its own, keeps selling and reports later. A voucher is never issued twice.

Direct
ARCA's WSAA + WSFEv1, with no middleman and no third-party fee per voucher.
A · B · C
Invoices and credit notes. The system picks the letter.
Zero duplicates
After a timeout it asks ARCA before asking again.
Automatic CAEA
Hands-off contingency: it switches, sells, recovers and reports.
Online CAE

One sale, from the till to ARCA, in six steps.

This is what happens every time the cashier presses F9. It runs on its own, in seconds, and every step leaves a trace. Click a step to see it, or let it play.

[14:32:07] POS venta 0003-018 · FACTURA B · $ 5.780,00 · validada
[14:32:07] DB PENDING_FISCAL_AUTHORIZATION · reserva PV 0003 / tipo 6
[14:32:07] WSAA loginCms → TA vigente hasta 02:14 (caché)
[14:32:08] WSFE FECompUltimoAutorizado(3, 6) = 71659 → usa 71660
[14:32:08] WSFE FECAESolicitar · ImpTotal 5780.00 · IVA 21% 1003.14
[14:32:09] WSFE Resultado A · CAE 71234567890123 · Vto 20260919

The log data is an example. The calls and service names are ARCA's real ones.

When something fails

An outage never ends in a duplicated invoice.

The risky moment is when ARCA doesn't answer: it may have authorized, or not. Kubrik never resends blindly. It asks first.

ARCA doesn't answer in time

Each call gets 12 seconds. If it times out, the voucher is left "pending" and recovery looks up that exact number at ARCA. If it was authorized, it checks amount, date and processing time before claiming it.

Two tills on the same point of sale

If two tills ask for the same number at once, ARCA answers 10016 or 502. Kubrik discards its attempt, asks for the last number again and resends once.

ARCA rejects the voucher

The cashier sees ARCA's code with a clear message and the number is released. If the point of sale isn't enabled at ARCA, the message says what to do. Data errors are stopped before sending.

Automatic recovery

Every 2 minutes a job reviews pending vouchers and settles them against ARCA. It spaces attempts by age, from 2 to 60 minutes, so it never floods ARCA.

And when a person is needed

The manager has a recovery screen: retry, reconcile by typing the real CAE, void, or reopen the sale. Reopening is only allowed when there is proof ARCA authorized nothing.

CAEA contingency

ARCA goes down. Your till keeps selling.

CAEA is a code ARCA grants per fortnight to issue vouchers offline. Kubrik requests it, enters contingency, returns from it and reports what was issued, all on its own. Try it: cut ARCA off and see what the cashier sees.

SUCURSAL CENTRAL · CAJA 02
The CAEA is already requestedKubrik requests it up to 5 days before each fortnight (1st–15th and 16th–end of month). Real homologation example: CAEA 86400942815687, valid 01/10 to 15/10, report by 20/10.
Three failures within five minutesKubrik tells "ARCA isn't answering" (network, timeout) apart from "ARCA answered with an error". Only the first counts toward contingency.
The till enters contingency on its ownThe cashier sees a yellow notice and keeps selling. Vouchers go out with the CAEA, on a dedicated contingency point of sale, with gap-free numbering.
ARCA comes back, and so does the tillEvery 2 minutes Kubrik checks whether ARCA answers, without using your credentials. When it does, every till goes back to online CAE.
What was issued is reported to ARCAOnce a day, between 6 am and 10 pm, Kubrik reports vouchers in order, in batches of up to 250. Each one ends up "Reported" or, if ARCA flags it, set aside for review.

If there's no valid CAEA or the branch has no contingency point of sale, the till doesn't improvise: it blocks and tells the cashier why.

Tax rules

The right letter, without the cashier thinking about it.

The letter follows from your VAT status and the customer's. Pick a combination.

Your business
Your customer
B

Customer ID (RG 5616)

Every voucher declares the receiver's VAT status. CUIT and CUIL are checked with their check digit and DNI by length. From the threshold the rule sets, configurable and $10,000,000 by default, a final consumer must be identified, and the till asks before charging.

VAT and other taxes

Rates of 0%, 2.5%, 5%, 10.5%, 21% and 27%. Exempt and non-taxed go in their own boxes. Discounts are spread across rates. IIBB, VAT and municipal withholdings, plus the CABA IIBB regime per branch.

A voucher that complies

VAT status legends, start of activities, the VAT-content block of Law 27,743 and the Monotributo legend. Credit notes cite their invoice. In homologation the voucher says it isn't valid, so nobody gets confused.

Fiscal QR

The QR ARCA requires, built from what was declared.

The QR is never recalculated: it comes from what was sent to ARCA. If a field is missing, the voucher says "No verification code" instead of printing a wrong QR.

{ "ver": 1, "fecha": "2026-09-09", "cuit": 30712345678, "ptoVta": 3, "tipoCmp": 6, "nroCmp": 71660, "importe": 5780.00, "moneda": "PES", "ctz": 1.000000, "tipoDocRec": 99, "nroDocRec": 0, "tipoCodAut": "E", "codAut": 71234567890123 }
encoded in base64 and appended to ARCA's address
https://www.afip.gob.ar/fe/qr/?p=…

"E" means online CAE. In contingency the same QR carries "A" and the CAEA code.

Example homologation voucher
Getting started

From CUIT to first invoice, without leaving Kubrik.

Everything is set up from the POS "Fiscal configuration" screen. The only things done on ARCA's website are uploading the certificate request and enabling the points of sale.

Company tax data

CUIT with check digit, VAT status, gross income tax and start of activities. Kubrik won't issue if anything is missing.

Certificate request generated by Kubrik

Kubrik generates the key and the request (CSR). The private key never leaves the server and is encrypted with AES-256-GCM. You only handle public files.

You upload the request to ARCA

At ARCA you link it to the electronic invoicing service (wsfe) and download the signed certificate.

You load the signed certificate

Kubrik pairs it with its key and rejects it if it doesn't match. The screen shows how many days are left before it expires. There's one certificate per environment.

CAE and contingency points of sale

You add the online point of sale and the CAEA contingency one. The "Verify" button asks ARCA whether they're enabled, before you sell.

You test in homologation, then go live

One button issues a $1,000 test invoice against ARCA's test environment, and the till shows a "HOMOLOGATION" band. When you're ready, you promote to production. The environment can't be switched while tills are open.

Technical sheet

For your accountant and your tech team.

Vouchers
VoucherARCA code
Invoice A1
Invoice B6
Invoice C11
Credit note A3
Credit note B8
Credit note C13
Timings
WhatValue
Wait per call to ARCA12 s
WSAA access ticketabout 12 h, encrypted cache
Entering contingency3 failures over 5+ min
Checking ARCA is backevery 2 min
Pending recoveryevery 2 min, spaced up to 60 min
CAEA requestautomatic, from 5 days before
CAEA reportdaily, 6 am–10 pm, batches of 250
Email deliveryqueue with up to 6 attempts
ARCA services used
WSAAloginCms
Online CAEFECAESolicitar · FECompUltimoAutorizado · FECompConsultar
CAEAFECAEASolicitar · FECAEAConsultar · FECAEARegInformativo
Availability and points of saleFEDummy · FEParamGetPtosVenta
ARCA answers it handles
10016 · 502two tills at once: retries once 10004 · 10005 · 11000 · 11002point of sale not enabled 15006 · 15008CAEA window and CAEA already granted 703gap or duplicate in the report TAlive WSAA ticket lost: explained without blaming the certificate

Invoice with ARCA from day one.

Kubrik POS ships with the ARCA integration ready. See how it charges with Mercado Pago too, or go back to everything the POS does.