Error (10016) El numero o fecha del comprobante no se corresponde con el proximo a autorizar

Pasos para resolver este error


Error (10016) El numero o fecha del comprobante no se corresponde con el proximo a autorizar

Si estás teniendo este error, es porque el número de comprobante que estás enviando a ARCA no es el que corresponde al siguiente comprobante o la fecha del último comprobante es posterior a la que estás enviando actualmente.

Esto ocurre porque los comprobantes deben emitirse de forma correlativa tanto en el número como en la fecha. Es decir, si enviaste un comprobante con fecha de mañana, no puedes emitir uno con fecha de hoy. El siguiente (en el mismo punto de venta y mismo tipo de comprobante) debe ser de mañana o posterior, lo mismo aplica para el número de comprobante.

Solución #1: Obtener el número del último comprobante

Vamos a utilizar el método para Obtener número del último comprobante creado. Una vez que tengas el número, debes sumarle +1 y en los datos del comprobante cambiar CbteDesde y CbteHasta por ese número.

Si el problema persiste, debemos ir por la solución #2.

Node

// Numero de punto de venta
const puntoDeVenta = 1;

// Tipo de comprobante
const tipoDeComprobante = 6; // 6 = Factura B

const lastVoucher = await afip.ElectronicBilling.getLastVoucher(puntoDeVenta, tipoDeComprobante);

PHP

// Numero de punto de venta
$punto_de_venta = 1;

// Tipo de comprobante
$tipo_de_comprobante = 6; // 6 = Factura B

$last_voucher = $afip->ElectronicBilling->GetLastVoucher($punto_de_venta, $tipo_de_comprobante);

Ruby

# Numero de punto de venta
punto_de_venta = 1

# Tipo de comprobante
tipo_de_comprobante = 6 # 6 = Factura B

last_voucher = afip.ElectronicBilling.getLastVoucher(punto_de_venta, tipo_de_comprobante)

Python

# Numero de punto de venta
punto_de_venta = 1

# Tipo de comprobante
tipo_de_comprobante = 6 # 6 = Factura B

last_voucher = afip.ElectronicBilling.getLastVoucher(punto_de_venta, tipo_de_comprobante)

API

{
    "environment": "dev",
    "method": "FECompUltimoAutorizado",
    "wsid": "wsfe",
    "params": {
        "Auth" : { 
            "Token": "{{token}}",
            "Sign": "{{sign}}",
            "Cuit": "20409378472"
        },
        "PtoVta" : 1,
        "CbteTipo" : 6
    }
}

Solución #2: Obtener fecha del último comprobante

Con el número del último comprobante obtenido en la Solución #1, vamos a Obtener información de un comprobante ya emitido. En los detalles, encontrarás el campo CbteFch que hace referencia a la fecha de ese comprobante en formato “AAAAMMDD”. A los datos de nuestro comprobante debemos asignarle esta fecha o alguna posterior en CbteFch.

Node

// Numero de comprobante
const numeroDeComprobante = 1;

// Numero de punto de venta
const puntoDeVenta = 1;

// Tipo de comprobante
const tipoDeComprobante = 6; // 6 = Factura B

const voucherInfo = await afip.ElectronicBilling.getVoucherInfo(numeroDeComprobante, puntoDeVenta, tipoDeComprobante);

if(voucherInfo === null){
    console.log('El comprobante no existe');
}
else{
    console.log('Esta es la información del comprobante:');
    console.log(voucherInfo);
}

PHP

// Numero de comprobante
$numero_de_comprobante = 1;

// Numero de punto de venta
$punto_de_venta = 1;

// Tipo de comprobante
$tipo_de_comprobante = 6; // 6 = Factura B

$voucher_info = $afip->ElectronicBilling->GetVoucherInfo($numero_de_comprobante, $punto_de_venta, $tipo_de_comprobante);

if($voucher_info === NULL){
    echo 'El comprobante no existe';
}
else{
    echo 'Esta es la información del comprobante:';
    echo '<pre>';
    print_r($voucher_info);
    echo '</pre>';
}

Ruby

# Numero de comprobante
numero_de_comprobante = 1

# Numero de punto de venta
punto_de_venta = 1

# Tipo de comprobante
tipo_de_comprobante = 6 # 6 = Factura B

voucher_info = afip.ElectronicBilling.getVoucherInfo(numero_de_comprobante, punto_de_venta, tipo_de_comprobante)

puts  "Esta es la información del comprobante:"
puts voucher_info

Python

# Numero de comprobante
numero_de_comprobante = 1

# Numero de punto de venta
punto_de_venta = 1

# Tipo de comprobante
tipo_de_comprobante = 6 # 6 = Factura B

voucher_info = afip.ElectronicBilling.getVoucherInfo(numero_de_comprobante, punto_de_venta, tipo_de_comprobante)

print("Esta es la información del comprobante:")
print(voucher_info)

API

{
    "environment": "dev",
    "method": "FECompConsultar",
    "wsid": "wsfe",
    "params": {
        "Auth" : { 
            "Token": "{{token}}",
            "Sign": "{{sign}}",
            "Cuit": "20409378472"
        },
        "FeCompConsReq" : {
            "CbteNro" : 10,
            "PtoVta" : 1,
            "CbteTipo" : 6
        }
    }
}

Este y otros problemas con los web services son detectados y resueltos rápidamente dentro de la Comunidad Afip SDK. Puedes unirte para estar al tanto de las novedades y problemas técnicos al usar los servicios de ARCA.

Conéctate a ARCA hoy mismo

Certificados, código, tutoriales, soporte... todo lo que necesitas para usar los web services de ARCA en un solo lugar.