Factura B
(async () => {
/**
* Numero del punto de venta
**/
const punto_de_venta = 1;
/**
* Tipo de factura
**/
const tipo_de_factura = 6; // 6 = Factura B
/**
* Número de la ultima Factura B
**/
const last_voucher = await afip.ElectronicBilling.getLastVoucher(punto_de_venta, tipo_de_factura);
/**
* Concepto de la factura
*
* Opciones:
*
* 1 = Productos
* 2 = Servicios
* 3 = Productos y Servicios
**/
const concepto = 1;
/**
* Tipo de documento del comprador
*
* Opciones:
*
* 80 = CUIT
* 86 = CUIL
* 96 = DNI
* 99 = Consumidor Final
**/
const tipo_de_documento = 99;
/**
* Numero de documento del comprador (0 para consumidor final)
**/
const numero_de_documento = 0;
/**
* Numero de factura
**/
const numero_de_factura = last_voucher+1;
/**
* Fecha de la factura en formato aaaa-mm-dd (hasta 10 dias antes y 10 dias despues)
**/
const fecha = new Date(Date.now() - ((new Date()).getTimezoneOffset() * 60000)).toISOString().split('T')[0];
/**
* Importe sujeto al IVA (sin icluir IVA)
**/
const importe_gravado = 100;
/**
* Importe exento al IVA
**/
const importe_exento_iva = 0;
/**
* Importe de IVA
**/
const importe_iva = 21;
/**
* Los siguientes campos solo son obligatorios para los conceptos 2 y 3
**/
let fecha_servicio_desde = null, fecha_servicio_hasta = null, fecha_vencimiento_pago = null;
if (concepto === 2 || concepto === 3) {
/**
* Fecha de inicio de servicio en formato aaaammdd
**/
const fecha_servicio_desde = 20191213;
/**
* Fecha de fin de servicio en formato aaaammdd
**/
const fecha_servicio_hasta = 20191213;
/**
* Fecha de vencimiento del pago en formato aaaammdd
**/
const fecha_vencimiento_pago = 20191213;
}
const data = {
'CantReg' : 1, // Cantidad de facturas a registrar
'PtoVta' : punto_de_venta,
'CbteTipo' : tipo_de_factura,
'Concepto' : concepto,
'DocTipo' : tipo_de_documento,
'DocNro' : numero_de_documento,
'CbteDesde' : numero_de_factura,
'CbteHasta' : numero_de_factura,
'CbteFch' : parseInt(fecha.replace(/-/g, '')),
'FchServDesde' : fecha_servicio_desde,
'FchServHasta' : fecha_servicio_hasta,
'FchVtoPago' : fecha_vencimiento_pago,
'ImpTotal' : importe_gravado + importe_iva + importe_exento_iva,
'ImpTotConc': 0, // Importe neto no gravado
'ImpNeto' : importe_gravado,
'ImpOpEx' : importe_exento_iva,
'ImpIVA' : importe_iva,
'ImpTrib' : 0, //Importe total de tributos
'MonId' : 'PES', //Tipo de moneda usada en la factura ('PES' = pesos argentinos)
'MonCotiz' : 1, // Cotización de la moneda usada (1 para pesos argentinos)
'Iva' : [ // Alícuotas asociadas a la factura
{
'Id' : 5, // Id del tipo de IVA (5 = 21%)
'BaseImp' : importe_gravado,
'Importe' : importe_iva
}
]
};
/**
* Creamos la Factura
**/
const res = await afip.ElectronicBilling.createVoucher(data);
/**
* Mostramos por pantalla los datos de la nueva Factura
**/
console.log({
'cae' : res.CAE, //CAE asignado a la Factura
'vencimiento' : res.CAEFchVto //Fecha de vencimiento del CAE
});
})()
/**
* Numero del punto de venta
**/
$punto_de_venta = 1;
/**
* Tipo de factura
**/
$tipo_de_factura = 6; // 6 = Factura B
/**
* Número de la ultima Factura B
**/
$last_voucher = $afip->ElectronicBilling->GetLastVoucher($punto_de_venta, $tipo_de_factura);
/**
* Concepto de la factura
*
* Opciones:
*
* 1 = Productos
* 2 = Servicios
* 3 = Productos y Servicios
**/
$concepto = 1;
/**
* Tipo de documento del comprador
*
* Opciones:
*
* 80 = CUIT
* 86 = CUIL
* 96 = DNI
* 99 = Consumidor Final
**/
$tipo_de_documento = 99;
/**
* Numero de documento del comprador (0 para consumidor final)
**/
$numero_de_documento = 0;
/**
* Numero de factura
**/
$numero_de_factura = $last_voucher+1;
/**
* Fecha de la factura en formato aaaa-mm-dd (hasta 10 dias antes y 10 dias despues)
**/
$fecha = date('Y-m-d');
/**
* Importe sujeto al IVA (sin icluir IVA)
**/
$importe_gravado = 100;
/**
* Importe exento al IVA
**/
$importe_exento_iva = 0;
/**
* Importe de IVA
**/
$importe_iva = 21;
/**
* Los siguientes campos solo son obligatorios para los conceptos 2 y 3
**/
if ($concepto === 2 || $concepto === 3) {
/**
* Fecha de inicio de servicio en formato aaaammdd
**/
$fecha_servicio_desde = intval(date('Ymd'));
/**
* Fecha de fin de servicio en formato aaaammdd
**/
$fecha_servicio_hasta = intval(date('Ymd'));
/**
* Fecha de vencimiento del pago en formato aaaammdd
**/
$fecha_vencimiento_pago = intval(date('Ymd'));
}
else {
$fecha_servicio_desde = null;
$fecha_servicio_hasta = null;
$fecha_vencimiento_pago = null;
}
$data = array(
'CantReg' => 1, // Cantidad de facturas a registrar
'PtoVta' => $punto_de_venta,
'CbteTipo' => $tipo_de_factura,
'Concepto' => $concepto,
'DocTipo' => $tipo_de_documento,
'DocNro' => $numero_de_documento,
'CbteDesde' => $numero_de_factura,
'CbteHasta' => $numero_de_factura,
'CbteFch' => intval(str_replace('-', '', $fecha)),
'FchServDesde' => $fecha_servicio_desde,
'FchServHasta' => $fecha_servicio_hasta,
'FchVtoPago' => $fecha_vencimiento_pago,
'ImpTotal' => $importe_gravado + $importe_iva + $importe_exento_iva,
'ImpTotConc'=> 0, // Importe neto no gravado
'ImpNeto' => $importe_gravado,
'ImpOpEx' => $importe_exento_iva,
'ImpIVA' => $importe_iva,
'ImpTrib' => 0, //Importe total de tributos
'MonId' => 'PES', //Tipo de moneda usada en la factura ('PES' = pesos argentinos)
'MonCotiz' => 1, // Cotización de la moneda usada (1 para pesos argentinos)
'Iva' => array(// Alícuotas asociadas al factura
array(
'Id' => 5, // Id del tipo de IVA (5 = 21%)
'BaseImp' => $importe_gravado,
'Importe' => $importe_iva
)
),
);
/**
* Creamos la Factura
**/
$res = $afip->ElectronicBilling->CreateVoucher($data);
/**
* Mostramos por pantalla los datos de la nueva Factura
**/
var_dump(array(
'cae' => $res['CAE'], //CAE asignado a la Factura
'vencimiento' => $res['CAEFchVto'] //Fecha de vencimiento del CAE
));
require "date"
# Numero del punto de venta
punto_de_venta = 1
# Tipo de factura
tipo_de_factura = 6 # 6 = Factura B
# Número de la ultima Factura B
last_voucher = afip.ElectronicBilling.getLastVoucher(punto_de_venta, tipo_de_factura)
# Concepto de la factura
#
# Opciones:
#
# 1 = Productos
# 2 = Servicios
# 3 = Productos y Servicios
concepto = 1
# Tipo de documento del comprador
#
# Opciones:
#
# 80 = CUIT
# 86 = CUIL
# 96 = DNI
# 99 = Consumidor Final
tipo_de_documento = 99
# Numero de documento del comprador (0 para consumidor final)
numero_de_documento = 0
# Numero de factura
numero_de_factura = last_voucher+1
# Fecha de la factura en formato aaaammdd (hasta 10 dias antes y 10 dias despues)
fecha = Time.now.strftime("%Y%m%d").to_i
# Importe sujeto al IVA (sin icluir IVA)
importe_gravado = 100
# Importe exento al IVA
importe_exento_iva = 0
# Importe de IVA
importe_iva = 21
# Los siguientes campos solo son obligatorios para los conceptos 2 y 3
if concepto == 2 || concepto == 3
# Fecha de inicio de servicio en formato aaaammdd
fecha_servicio_desde = Time.now.strftime("%Y%m%d").to_i
# Fecha de fin de servicio en formato aaaammdd
fecha_servicio_hasta = Time.now.strftime("%Y%m%d").to_i
# Fecha de vencimiento del pago en formato aaaammdd
fecha_vencimiento_pago = Time.now.strftime("%Y%m%d").to_i
else
fecha_servicio_desde = nil
fecha_servicio_hasta = nil
fecha_vencimiento_pago = nil
end
data = {
"CantReg": 1, # Cantidad de facturas a registrar
"PtoVta": punto_de_venta,
"CbteTipo": tipo_de_factura,
"Concepto": concepto,
"DocTipo": tipo_de_documento,
"DocNro": numero_de_documento,
"CbteDesde": numero_de_factura,
"CbteHasta": numero_de_factura,
"CbteFch": fecha,
"FchServDesde": fecha_servicio_desde,
"FchServHasta": fecha_servicio_hasta,
"FchVtoPago": fecha_vencimiento_pago,
"ImpTotal": importe_gravado + importe_iva + importe_exento_iva,
"ImpTotConc": 0, # Importe neto no gravado
"ImpNeto": importe_gravado,
"ImpOpEx": importe_exento_iva,
"ImpIVA": importe_iva,
"ImpTrib": 0, # Importe total de tributos
"MonId": "PES", # Tipo de moneda usada en la factura ("PES" = pesos argentinos)
"MonCotiz": 1, # Cotización de la moneda usada (1 para pesos argentinos)
"Iva": [ # Alícuotas asociadas al factura
{
"Id": 5, # Id del tipo de IVA (5 = 21%)
"BaseImp": importe_gravado,
"Importe": importe_iva
}
]
}
# Creamos la Factura
res = afip.ElectronicBilling.createVoucher(data)
# Mostramos por pantalla los datos de la nueva Factura
puts {
"cae": res["CAE"], # CAE asignado a la Factura
"vencimiento": res["CAEFchVto"] # Fecha de vencimiento del CAE
}
from datetime import datetime
# Numero del punto de venta
punto_de_venta = 1
# Tipo de factura
tipo_de_factura = 6 # 6 = Factura B
# Número de la ultima Factura B
last_voucher = afip.ElectronicBilling.getLastVoucher(punto_de_venta, tipo_de_factura)
# Concepto de la factura
#
# Opciones:
#
# 1 = Productos
# 2 = Servicios
# 3 = Productos y Servicios
concepto = 1
# Tipo de documento del comprador
#
# Opciones:
#
# 80 = CUIT
# 86 = CUIL
# 96 = DNI
# 99 = Consumidor Final
tipo_de_documento = 99
# Numero de documento del comprador (0 para consumidor final)
numero_de_documento = 0
# Numero de factura
numero_de_factura = last_voucher+1
# Fecha de la factura en formato aaaammdd (hasta 10 dias antes y 10 dias despues)
fecha = int(datetime.today().strftime("%Y%m%d"))
# Importe sujeto al IVA (sin icluir IVA)
importe_gravado = 100
# Importe exento al IVA
importe_exento_iva = 0
# Importe de IVA
importe_iva = 21
# Los siguientes campos solo son obligatorios para los conceptos 2 y 3
if concepto == 2 or concepto == 3:
# Fecha de inicio de servicio en formato aaaammdd
fecha_servicio_desde = int(datetime.today().strftime("%Y%m%d"))
# Fecha de fin de servicio en formato aaaammdd
fecha_servicio_hasta = int(datetime.today().strftime("%Y%m%d"))
# Fecha de vencimiento del pago en formato aaaammdd
fecha_vencimiento_pago = int(datetime.today().strftime("%Y%m%d"))
else:
fecha_servicio_desde = None
fecha_servicio_hasta = None
fecha_vencimiento_pago = None
data = {
"CantReg": 1, # Cantidad de facturas a registrar
"PtoVta": punto_de_venta,
"CbteTipo": tipo_de_factura,
"Concepto": concepto,
"DocTipo": tipo_de_documento,
"DocNro": numero_de_documento,
"CbteDesde": numero_de_factura,
"CbteHasta": numero_de_factura,
"CbteFch": fecha,
"FchServDesde": fecha_servicio_desde,
"FchServHasta": fecha_servicio_hasta,
"FchVtoPago": fecha_vencimiento_pago,
"ImpTotal": importe_gravado + importe_iva + importe_exento_iva,
"ImpTotConc": 0, # Importe neto no gravado
"ImpNeto": importe_gravado,
"ImpOpEx": importe_exento_iva,
"ImpIVA": importe_iva,
"ImpTrib": 0, # Importe total de tributos
"MonId": "PES", # Tipo de moneda usada en la factura ("PES" = pesos argentinos)
"MonCotiz": 1, # Cotización de la moneda usada (1 para pesos argentinos)
"Iva": [ # Alícuotas asociadas al factura
{
"Id": 5, # Id del tipo de IVA (5 = 21%)
"BaseImp": importe_gravado,
"Importe": importe_iva
}
]
}
# Creamos la Factura
res = afip.ElectronicBilling.createVoucher(data)
# Mostramos por pantalla los datos de la nueva Factura
print({
"cae": res["CAE"], # CAE asignado a la Factura
"vencimiento": res["CAEFchVto"] # Fecha de vencimiento del CAE
})
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FECAESolicitar",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
"FeCAEReq" : {
"FeCabReq": {
"CantReg": 1,
"PtoVta": 1,
"CbteTipo": 6
},
"FeDetReq": {
"FECAEDetRequest": {
"Concepto": 1,
"DocTipo": 99,
"DocNro": 0,
"CbteDesde": 865,
"CbteHasta": 865,
"CbteFch": 20240314,
"FchServDesde": null,
"FchServHasta": null,
"FchVtoPago": null,
"ImpTotal": 121,
"ImpTotConc": 0,
"ImpNeto": 100,
"ImpOpEx": 0,
"ImpIVA": 21,
"ImpTrib": 0,
"MonId": "PES",
"MonCotiz": 1,
"Iva": {
"AlicIva": [
{
"Id": 5,
"BaseImp": 100,
"Importe": 21
}
]
}
}
}
}
}
}
Última actualización