Afip SDK
GitHubHomeComunidadBlog
  • 📖Documentación
  • Paso a paso
    • 🎯Instalacion
    • ☁️Web services
      • 💵Factura electrónica
        • Crear PDF
        • Código QR
        • Factura A
        • Factura B
        • Factura C
        • Factura de Crédito electrónica A
        • Factura de Crédito electrónica B
        • Factura de Crédito electrónica C
        • Nota de Crédito A
        • Nota de Crédito B
        • Nota de Crédito C
      • 📑Padrón de constancia de inscripción
      • 📑Padrón alcance 10
      • 📑Padrón alcance 13
      • 💸Factura MiPyME
      • 🔎Constatación de Comprobantes
      • ✉️Carta de Porte Electrónica
      • 🏨Comprobantes de Turismo
      • 💸Factura de Exportación
      • 🥩Remito cárnico
      • 🛠️Otro web service
    • 📚Tutoriales página de ARCA
      • 🔑Habilitar administrador de certificados de testing
      • 📜Obtener certificado de testing
      • ✅Autorizar web service de testing
      • 🔑Habilitar administrador de certificados de producción
      • 📜Obtener certificado de producción
      • ✅Autorizar web service de producción
      • 💳Crear punto de venta
      • 🤝Delegar web service
      • 👍Aceptar delegación de web service
    • ⚙️Otros métodos útiles
    • 🚀Ir a producción
  • Ayuda
    • ⁉️Preguntas frecuentes
    • 🐞Errores frecuentes
Con tecnología de GitBook
En esta página

¿Te fue útil?

  1. Paso a paso
  2. Web services
  3. Factura electrónica

Factura de Crédito electrónica C

(async () => {
	/**
	 * Numero del punto de venta
	 **/
	const punto_de_venta = 1;

	/**
	 * Tipo de factura
	 **/
	const tipo_de_factura = 211; // 211 = Factura de Crédito electrónica MiPyMEs (FCE) C
	
	/**
	 * Número de la ultima Factura de Crédito electrónica MiPyMEs (FCE) C
	 **/
	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 = 80;

	/**
	 * Numero de documento del comprador (0 para consumidor final)
	 **/
	const numero_de_documento = 30679928879;

	/**
	 * Numero de factura
	 **/
	const numero_de_factura = last_voucher+1;

	/**
	 * Numero de CBU del cliente
	 * Es requerido para realizar una factura de crédito electrónica
	 **/
	const CBU = '1234567890123456789012';

	/**
	 * Tipo de Transferencia
	 * Es requerido para realizar una factura de crédito electrónica
	 * SCA = 'TRANSFERENCIA AL SISTEMA DE CIRCULACION ABIERTA'
	 * ADC = 'AGENTE DE DEPOSITO COLECTIVO'
	 **/
	const transferencia = 'ADC';

	/**
	 * 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];

	/**
	 * Fecha de vencimiento del pago en formato aaaa-mm-dd
	 **/
	const fecha_vencimiento_pago = new Date(Date.now() - ((new Date()).getTimezoneOffset() * 60000)).toISOString().split('T')[0];
	
	/**
	 * Importe de la Factura
	 **/
	const importe_total = 100000;

	/**
	 * Los siguientes campos solo son obligatorios para los conceptos 2 y 3
	 **/
	let fecha_servicio_desde = null, fecha_servicio_hasta = 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;
	}

	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'    : parseInt(fecha_vencimiento_pago.replace(/-/g, '')),
		'ImpTotal' 	: importe_total,
		'ImpTotConc': 0, // Importe neto no gravado
		'ImpNeto' 	: importe_total,
		'ImpOpEx' 	: 0,
		'ImpIVA' 	: 0,
		'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)  
		'Opcionales' : [ // (Opcional) Alícuotas asociadas al comprobante
			{
				'Id'	: 2101, // ID del campo opcion opcional (2101 = CBU)
				'Valor'	: CBU
			},
			{
				'Id': 27, // ID del campo opcion opcional (27 = Transferencia)
				'Valor': transferencia
			}
		],
	};

	/** 
	 * 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 = 211; // 211 = Factura de Crédito electrónica MiPyMEs (FCE) C

/**
 * Número de la ultima Factura de Crédito electrónica MiPyMEs (FCE) C
 **/
$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 = 80;

/**
 * Numero de documento del comprador (0 para consumidor final)
 **/
$numero_de_documento = 30679928879;

/**
 * Numero de factura
 **/
$numero_de_factura = $last_voucher+1;

/**
 * Numero de CBU del cliente
 * Es requerido para realizar una factura de crédito electrónica
 **/
$CBU = '1234567890123456789012';

/**
 * Tipo de Transferencia
 * Es requerido para realizar una factura de crédito electrónica
 * SCA = 'TRANSFERENCIA AL SISTEMA DE CIRCULACION ABIERTA'
 * ADC = 'AGENTE DE DEPOSITO COLECTIVO'
 **/
$transferencia = 'ADC';

/**
 * Fecha de la factura en formato aaaa-mm-dd (hasta 10 dias antes y 10 dias despues)
 **/
$fecha = date('Y-m-d');

/**
 * Fecha de vencimiento del pago en formato aaaa-mm-dd
 **/
$fecha_vencimiento_pago = date('Y-m-d');

/**
 * Importe de la Factura
 **/
$importe_total = 100000;

/**
 * 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'));
}
else {
	$fecha_servicio_desde = null;
	$fecha_servicio_hasta = 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'    => intval(str_replace('-', '', $fecha_vencimiento_pago)),
	'ImpTotal' 	=> $importe_total,
	'ImpTotConc'=> 0, // Importe neto no gravado
	'ImpNeto' 	=> $importe_total, // Importe neto
	'ImpOpEx' 	=> 0, // Importe exento al IVA
	'ImpIVA' 	=> 0, // Importe de 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)  
	'Opcionales' => array( // (Opcional) Alícuotas asociadas al comprobante
		array(
			'Id'	=> 2101, // ID del campo opcion opcional (2101 = CBU)
			'Valor'	=> $CBU
		),
		array(
			'Id'	=> 27, // ID del campo opcion opcional (27 = Transferencia)
			'Valor'	=> $transferencia
		)
	),
);

/** 
 * 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 = 211 # 211 = Factura de Crédito electrónica MiPyMEs (FCE) C

# Número de la ultima Factura de Crédito electrónica MiPyMEs (FCE) C
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 = 80

# Numero de documento del comprador (0 para consumidor final)
numero_de_documento = 30679928879

# Numero de factura
numero_de_factura = last_voucher+1

# Numero de CBU del cliente
# Es requerido para realizar una factura de crédito electrónica
CBU = '1234567890123456789012'

# Tipo de Transferencia
# Es requerido para realizar una factura de crédito electrónica
# SCA = 'TRANSFERENCIA AL SISTEMA DE CIRCULACION ABIERTA'
# ADC = 'AGENTE DE DEPOSITO COLECTIVO'
transferencia = 'ADC'

# Fecha de la factura en formato aaaammdd (hasta 10 dias antes y 10 dias despues)
fecha = Time.now.strftime("%Y%m%d").to_i

# Fecha de vencimiento del pago en formato aaaa-mm-dd
fecha_vencimiento_pago = Time.now.strftime("%Y%m%d").to_i

# Importe de la Factura
importe_total = 100000

# 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 = 20191213

    # Fecha de fin de servicio en formato aaaammdd
    fecha_servicio_hasta = 20191213
else
  fecha_servicio_desde = nil
  fecha_servicio_hasta = 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,
  "ImpTotal": importe_total,
  "ImpTotConc": 0, # Importe neto no gravado
  "ImpNeto": importe_total,
  "ImpOpEx": 0,
  "ImpIVA": 0,
  "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)  
  "Opcionales": [ # (Opcional) Alícuotas asociadas al comprobante
    {
      "Id": 2101, # ID del campo opcion opcional (2101 = CBU)
      "Valor": CBU
    },
    {
      "Id": 27, # ID del campo opcion opcional (27 = Transferencia)
      "Valor": transferencia
    }
  ]
}

# Creamos la Factura 
res = afip.ElectronicBilling.createVoucher(data)

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 = 211 # 211 = Factura de Crédito electrónica MiPyMEs (FCE) C

# Número de la ultima Factura de Crédito electrónica MiPyMEs (FCE) C
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 = 80

# Numero de documento del comprador (0 para consumidor final)
numero_de_documento = 30679928879

# Numero de factura
numero_de_factura = last_voucher+1

# Numero de CBU del cliente
# Es requerido para realizar una factura de crédito electrónica
CBU = '1234567890123456789012'

# Tipo de Transferencia
# Es requerido para realizar una factura de crédito electrónica
# SCA = 'TRANSFERENCIA AL SISTEMA DE CIRCULACION ABIERTA'
# ADC = 'AGENTE DE DEPOSITO COLECTIVO'
transferencia = 'ADC'

# Fecha de la factura en formato aaaammdd (hasta 10 dias antes y 10 dias despues)
fecha = int(datetime.today().strftime("%Y%m%d"))

# Fecha de vencimiento del pago en formato aaaa-mm-dd
fecha_vencimiento_pago = int(datetime.today().strftime("%Y%m%d"))

# Importe de la Factura
importe_total = 100000

# 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 = 20191213

    # Fecha de fin de servicio en formato aaaammdd
    fecha_servicio_hasta = 20191213
else:
  fecha_servicio_desde = None
  fecha_servicio_hasta = 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,
  "ImpTotal": importe_total,
  "ImpTotConc": 0, # Importe neto no gravado
  "ImpNeto": importe_total,
  "ImpOpEx": 0,
  "ImpIVA": 0,
  "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)  
  "Opcionales": [ # (Opcional) Alícuotas asociadas al comprobante
    {
      "Id": 2101, # ID del campo opcion opcional (2101 = CBU)
      "Valor": CBU
    },
    {
      "Id": 27, # ID del campo opcion opcional (27 = Transferencia)
      "Valor": transferencia
    }
  ]
}

# Creamos la Factura 
res = afip.ElectronicBilling.createVoucher(data)

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": 211
            },
            "FeDetReq": {
                "FECAEDetRequest": {
                    "Concepto": 1,
                    "DocTipo": 80,
                    "DocNro": 30679928879,
                    "CbteDesde": 3,
                    "CbteHasta": 3,
                    "CbteFch": 20240314,
                    "FchServDesde": null,
                    "FchServHasta": null,
                    "FchVtoPago": 20240314,
                    "ImpTotal": 100000,
                    "ImpTotConc": 0,
                    "ImpNeto": 100000,
                    "ImpOpEx": 0,
                    "ImpIVA": 0,
                    "ImpTrib": 0,
                    "MonId": "PES",
                    "MonCotiz": 1,
                    "Opcionales": {
                        "Opcional": [
                            {
                                "Id": 2101,
                                "Valor": "1234567890123456789012"
                            },
                            {
                                "Id": 27,
                                "Valor": "ADC"
                            }
                        ]
                    }
                }
            }
        }
    }
}
AnteriorFactura de Crédito electrónica BSiguienteNota de Crédito A

Última actualización hace 1 año

¿Te fue útil?

☁️
💵