💵Factura electrónica
La especificación de este Web Service se encuentra disponible en https://www.afip.gob.ar/fe/ayuda/documentos/wsfev1-COMPG.pdf
Aquí hablaremos de comprobante indistintamente si es una factura, nota de crédito, etc.
Métodos disponibles
Métodos para obtener los tipos de datos
Otros métodos disponibles
Crear PDF
Obtener número del último comprobante creado
// 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);
// 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);
# 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)
# 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)
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FECompUltimoAutorizado",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
"PtoVta" : 1,
"CbteTipo" : 6
}
}
Crear y asignar CAE a un comprobante
Debemos utilizar el método createVoucher
pasándole como parámetro un Objeto con los detalles del comprobante y si queremos tener la respuesta completa enviada por el WS debemos pasarle como segundo parámetro true
, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { CAE : CAE asignado el comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd) }
.
// Devolver respuesta completa del web service
const returnFullResponse = false;
const date = new Date(Date.now() - ((new Date()).getTimezoneOffset() * 60000)).toISOString().split('T')[0];
// Info del comprobante
let data = {
'CantReg' : 1, // Cantidad de comprobantes a registrar
'PtoVta' : 1, // Punto de venta
'CbteTipo' : 6, // Tipo de comprobante (ver tipos disponibles)
'Concepto' : 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
'DocTipo' : 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
'DocNro' : 0, // Número de documento del comprador (0 consumidor final)
'CbteDesde' : 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno
'CbteHasta' : 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno
'CbteFch' : parseInt(date.replace(/-/g, '')), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
'ImpTotal' : 121, // Importe total del comprobante
'ImpTotConc' : 0, // Importe neto no gravado
'ImpNeto' : 100, // Importe neto gravado
'ImpOpEx' : 0, // Importe exento de IVA
'ImpIVA' : 21, //Importe total de IVA
'ImpTrib' : 0, //Importe total de tributos
'MonId' : 'PES', //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
'MonCotiz' : 1, // Cotización de la moneda usada (1 para pesos argentinos)
'Iva' : [ // (Opcional) Alícuotas asociadas al comprobante
{
'Id' : 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
'BaseImp' : 100, // Base imponible
'Importe' : 21 // Importe
}
],
};
const res = await afip.ElectronicBilling.createVoucher(data, returnFullResponse);
res['CAE']; //CAE asignado el comprobante
res['CAEFchVto']; //Fecha de vencimiento del CAE (yyyy-mm-dd)
Este método acepta mas parámetros, podes encontrar todos los parámetros disponibles En este ejemplo
Debemos utilizar el método CreateVoucher
pasándole como parámetro un Array con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro TRUE, en caso de no enviarle el segundo parámetro nos devolverá como respuesta array(CAE => CAE asignado el comprobante, CAEFchVto => Fecha de vencimiento del CAE (yyyy-mm-dd))
.
// Devolver respuesta completa del web service
$return_full_response = FALSE;
// Info del comprobante
$data = array(
'CantReg' => 1, // Cantidad de comprobantes a registrar
'PtoVta' => 1, // Punto de venta
'CbteTipo' => 6, // Tipo de comprobante (ver tipos disponibles)
'Concepto' => 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
'DocTipo' => 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
'DocNro' => 0, // Número de documento del comprador (0 consumidor final)
'CbteDesde' => 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno
'CbteHasta' => 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno
'CbteFch' => intval(date('Ymd')), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
'ImpTotal' => 121, // Importe total del comprobante
'ImpTotConc' => 0, // Importe neto no gravado
'ImpNeto' => 100, // Importe neto gravado
'ImpOpEx' => 0, // Importe exento de IVA
'ImpIVA' => 21, //Importe total de IVA
'ImpTrib' => 0, //Importe total de tributos
'MonId' => 'PES', //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
'MonCotiz' => 1, // Cotización de la moneda usada (1 para pesos argentinos)
'Iva' => array( // (Opcional) Alícuotas asociadas al comprobante
array(
'Id' => 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
'BaseImp' => 100, // Base imponible
'Importe' => 21 // Importe
)
),
);
$res = $afip->ElectronicBilling->CreateVoucher($data, $return_full_response);
$res['CAE']; //CAE asignado el comprobante
$res['CAEFchVto']; //Fecha de vencimiento del CAE (yyyy-mm-dd)
Este método acepta mas parámetros, podes encontrar todos los parámetros disponibles En este ejemplo
Debemos utilizar el método createVoucher
pasándole como parámetro un Hash con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { "CAE": CAE asignado el comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd) }
.
# Devolver respuesta completa del web service
return_full_response = FALSE
# Info del comprobante
data = {
"CantReg": 1, # Cantidad de comprobantes a registrar
"PtoVta": 1, # Punto de venta
"CbteTipo": 6, # Tipo de comprobante (ver tipos disponibles)
"Concepto": 1, # Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
"DocTipo": 99, # Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
"DocNro": 0, # Número de documento del comprador (0 consumidor final)
"CbteDesde": 1, # Número de comprobante o numero del primer comprobante en caso de ser mas de uno
"CbteHasta": 1, # Número de comprobante o numero del último comprobante en caso de ser mas de uno
"CbteFch": 20231220, # (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
"ImpTotal": 121, # Importe total del comprobante
"ImpTotConc": 0, # Importe neto no gravado
"ImpNeto": 100, # Importe neto gravado
"ImpOpEx": 0, # Importe exento de IVA
"ImpIVA": 21, # Importe total de IVA
"ImpTrib": 0, # Importe total de tributos
"MonId": "PES", # Tipo de moneda usada en el comprobante (ver tipos disponibles)("PES" para pesos argentinos)
"MonCotiz": 1, # Cotización de la moneda usada (1 para pesos argentinos)
"Iva": [ # (Opcional) Alícuotas asociadas al comprobante
{
"Id": 5, # Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
"BaseImp": 100, # Base imponible
"Importe": 21 # Importe
}
]
}
res = afip.ElectronicBilling.createVoucher(data, return_full_response)
res["CAE"] # CAE asignado el comprobante
res["CAEFchVto"] # Fecha de vencimiento del CAE (yyyy-mm-dd)
Debemos utilizar el método createVoucher
pasándole como parámetro un Hash con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { "CAE": CAE asignado el comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd) }
.
# Devolver respuesta completa del web service
return_full_response = False
# Info del comprobante
data = {
"CantReg": 1, # Cantidad de comprobantes a registrar
"PtoVta": 1, # Punto de venta
"CbteTipo": 6, # Tipo de comprobante (ver tipos disponibles)
"Concepto": 1, # Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
"DocTipo": 99, # Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
"DocNro": 0, # Número de documento del comprador (0 consumidor final)
"CbteDesde": 1, # Número de comprobante o numero del primer comprobante en caso de ser mas de uno
"CbteHasta": 1, # Número de comprobante o numero del último comprobante en caso de ser mas de uno
"CbteFch": 20231220, # (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
"ImpTotal": 121, # Importe total del comprobante
"ImpTotConc": 0, # Importe neto no gravado
"ImpNeto": 100, # Importe neto gravado
"ImpOpEx": 0, # Importe exento de IVA
"ImpIVA": 21, # Importe total de IVA
"ImpTrib": 0, # Importe total de tributos
"MonId": "PES", # Tipo de moneda usada en el comprobante (ver tipos disponibles)("PES" para pesos argentinos)
"MonCotiz": 1, # Cotización de la moneda usada (1 para pesos argentinos)
"Iva": [ # (Opcional) Alícuotas asociadas al comprobante
{
"Id": 5, # Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
"BaseImp": 100, # Base imponible
"Importe": 21 # Importe
}
]
}
res = afip.ElectronicBilling.createVoucher(data, return_full_response)
res["CAE"] # CAE asignado el comprobante
res["CAEFchVto"] # Fecha de vencimiento del CAE (yyyy-mm-dd)
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" : 1,
"CbteHasta" : 1,
"CbteFch" : 20240313,
"ImpTotal" : 121,
"ImpTotConc" : 0,
"ImpNeto" : 100,
"ImpOpEx" : 0,
"ImpIVA" : 21,
"ImpTrib" : 0,
"MonId" : "PES",
"MonCotiz" : 1,
"Iva" : {
"AlicIva": [{
"Id" : 5,
"BaseImp" : 100,
"Importe" : 21
}]
}
}
}
}
}
}
Crear y asignar CAE a siguiente comprobante
Debemos utilizar el método createNextVoucher
pasándole como parámetro un Objeto con los detalles del comprobante al igual que el método createVoucher
, nos devolverá como respuesta { CAE : CAE asignado al comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number : Número asignado al comprobante }
.
const res = await afip.ElectronicBilling.createNextVoucher(data);
res['CAE']; //CAE asignado el comprobante
res['CAEFchVto']; //Fecha de vencimiento del CAE (yyyy-mm-dd)
res['voucher_number']; //Número asignado al comprobante
Debemos utilizar el método CreateNextVoucher
pasándole como parámetro un Array con los detalles del comprobante al igual que el método CreateVoucher
, nos devolverá como respuesta array(CAE => CAE asignado al comprobante, CAEFchVto => Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number => Número asignado al comprobante)
.
$res = $afip->ElectronicBilling->CreateNextVoucher($data);
$res['CAE']; //CAE asignado el comprobante
$res['CAEFchVto']; //Fecha de vencimiento del CAE (yyyy-mm-dd)
$res['voucher_number']; //Número asignado al comprobante
Debemos utilizar el método createNextVoucher
pasándole como parámetro un Hash con los detalles del comprobante al igual que el método createVoucher
, nos devolverá como respuesta { "CAE" : CAE asignado al comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd), "voucher_number" : Número asignado al comprobante }
.
res = afip.ElectronicBilling.createNextVoucher(data)
res["CAE"] # CAE asignado el comprobante
res["CAEFchVto"] # Fecha de vencimiento del CAE (yyyy-mm-dd)
res["voucher_number"] # Número asignado al comprobante
Debemos utilizar el método createNextVoucher
pasándole como parámetro un Hash con los detalles del comprobante al igual que el método createVoucher
, nos devolverá como respuesta { "CAE" : CAE asignado al comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd), "voucher_number" : Número asignado al comprobante }
.
res = afip.ElectronicBilling.createNextVoucher(data)
res["CAE"] # CAE asignado el comprobante
res["CAEFchVto"] # Fecha de vencimiento del CAE (yyyy-mm-dd)
res["voucher_number"] # Número asignado al comprobante
Se debe llamar al endpoint Obtener número del último comprobante creado, al numero de comprobante que nos devuelve sumarle 1
, y llamar al endpoint Crear y asignar CAE a un comprobante
Obtener información de un comprobante ya emitido
Con este método podemos obtener toda la información relacionada a un comprobante o simplemente saber si el comprobante existe.
// 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);
}
// 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>';
}
# 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
# 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)
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FECompConsultar",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
"FeCompConsReq" : {
"CbteNro" : 10,
"PtoVta" : 1,
"CbteTipo" : 6
}
}
}
Crear CAEA
// Periodo del CAEA. (yyyymm)
const periodo = 202307;
// Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
const orden = 1;
const caeaInfo = await afip.ElectronicBilling.createCAEA(periodo, orden);
// Periodo del CAEA. (yyyymm)
$periodo = 202307;
// Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
$orden = 1;
$caea_info = $afip->ElectronicBilling->CreateCAEA($periodo, $orden);
# Periodo del CAEA. (yyyymm)
periodo = 202307
# Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
orden = 1
caea_info = afip.ElectronicBilling.createCAEA(periodo, orden)
# Periodo del CAEA. (yyyymm)
periodo = 202307
# Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
orden = 1
caea_info = afip.ElectronicBilling.createCAEA(periodo, orden)
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FECAEASolicitar",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
"Periodo": 202403,
"Orden": 1
}
}
Obtener información de CAEA ya emitido
// Periodo del CAEA. (yyyymm)
const periodo = 202307;
// Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
const orden = 1;
const caeaInfo = await afip.ElectronicBilling.getCAEA(periodo, orden);
// Periodo del CAEA. (yyyymm)
$periodo = 202307;
// Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
$orden = 1;
$caea_info = $afip->ElectronicBilling->GetCAEA($periodo, $orden);
# Periodo del CAEA. (yyyymm)
periodo = 202307
# Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
orden = 1
caea_info = afip.ElectronicBilling.getCAEA(periodo, orden)
# Periodo del CAEA. (yyyymm)
periodo = 202307
# Orden del CAEA dentro del periodo. Quincena 1, Quincena 2
orden = 1
caea_info = afip.ElectronicBilling.getCAEA(periodo, orden)
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FECAEAConsultar",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
"Periodo": 202403,
"Orden": 1
}
}
Obtener puntos de venta disponibles
Es normal recibir un error en testing ya que no existen puntos de venta para testing (siempre se usa 1
)
const salesPoints = await afip.ElectronicBilling.getSalesPoints()
$sales_points = $afip->ElectronicBilling->GetSalesPoints();
sales_points = afip.ElectronicBilling.getSalesPoints
sales_points = afip.ElectronicBilling.getSalesPoints()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetPtosVenta",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de comprobantes disponibles
const voucherTypes = await afip.ElectronicBilling.getVoucherTypes();
$voucher_types = $afip->ElectronicBilling->GetVoucherTypes();
voucher_types = afip.ElectronicBilling.getVoucherTypes
voucher_types = afip.ElectronicBilling.getVoucherTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposCbte",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de conceptos disponibles
const conceptTypes = await afip.ElectronicBilling.getConceptTypes();
$concept_types = $afip->ElectronicBilling->GetConceptTypes();
concept_types = afip.ElectronicBilling.getConceptTypes
concept_types = afip.ElectronicBilling.getConceptTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposConcepto",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de documentos disponibles
const documentTypes = await afip.ElectronicBilling.getDocumentTypes();
$document_types = $afip->ElectronicBilling->GetDocumentTypes();
document_types = afip.ElectronicBilling.getDocumentTypes
document_types = afip.ElectronicBilling.getDocumentTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposDoc",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de alícuotas disponibles
const aloquotTypes = await afip.ElectronicBilling.getAliquotTypes();
$aloquot_types = $afip->ElectronicBilling->GetAliquotTypes();
aloquot_types = afip.ElectronicBilling.getAliquotTypes
aloquot_types = afip.ElectronicBilling.getAliquotTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposIva",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de monedas disponibles
const currenciesTypes = await afip.ElectronicBilling.getCurrenciesTypes();
$currencies_types = $afip->ElectronicBilling->GetCurrenciesTypes();
currencies_types = afip.ElectronicBilling.getCurrenciesTypes
currencies_types = afip.ElectronicBilling.getCurrenciesTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposMonedas",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
},
}
}
Obtener tipos de opciones disponibles para el comprobante
const optionTypes = await afip.ElectronicBilling.getOptionsTypes();
$option_types = $afip->ElectronicBilling->GetOptionsTypes();
option_types = afip.ElectronicBilling.getOptionsTypes
option_types = afip.ElectronicBilling.getOptionsTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposOpcional",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Obtener tipos de tributos disponibles
const taxTypes = await afip.ElectronicBilling.getTaxTypes();
$tax_types = $afip->ElectronicBilling->GetTaxTypes();
tax_types = afip.ElectronicBilling.getTaxTypes
tax_types = afip.ElectronicBilling.getTaxTypes()
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEParamGetTiposTributos",
"wsid": "wsfe",
"params": {
"Auth" : {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "20409378472"
}
}
}
Transformar formato de fecha que utiliza AFIP
De yyyymmdd
a yyyy-mm-dd
const date = afip.ElectronicBilling.formatDate('19970508'); //Nos devuelve 1997-05-08
$date = $afip->ElectronicBilling->FormatDate('19970508'); //Nos devuelve 1997-05-08
date = afip.ElectronicBilling.formatDate('19970508') # Nos devuelve 1997-05-08
date = afip.ElectronicBilling.formatDate('19970508') # Nos devuelve 1997-05-08
Si lo necesitas, a esto podes implementarlo con el lenguaje que utilices.
Obtener estado del servidor
No te confíes mucho de este método, AFIP siempre devuelve que esta todo bien incluso cuando hay algo fallando.
const serverStatus = await afip.ElectronicBilling.getServerStatus();
console.log('Este es el estado del servidor:');
console.log(serverStatus);
$server_status = $afip->ElectronicBilling->GetServerStatus();
echo 'Este es el estado del servidor:';
echo '<pre>';
print_r($server_status);
echo '</pre>';
server_status = afip.ElectronicBilling.getServerStatus
puts "Este es el estado del servidor:"
puts server_status
server_status = afip.ElectronicBilling.getServerStatus()
print("Este es el estado del servidor:")
print(server_status)
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "FEDummy",
"wsid": "wsfe",
"params": {}
}
Última actualización