Facturación Electrónica - adrianbarabino/afip.php GitHub Wiki

Aqui podas aprender cómo usar el web service de factura electrónica facilmente copiando y pegando los ejemplos

Acceso a los métodos de Facturación Electrónica

Los métodos de este Web Service se encuentran disponibles en $afip->ElectronicBilling

La especificación de este Web Service se encuentra disponible en http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf

Nota: Aquí hablaremos de comprobante indistintamente si es una factura, nota de crédito, etc

Indice

Métodos disponibles

  1. Obtener número del último comprobante creado
  2. Crear y asignar CAE a un comprobante
  3. Crear y asignar CAE a siguiente comprobante
  4. Obtener información de un comprobante

Métodos para obtener los tipos de datos disponibles

  1. Obtener tipos de comprobantes disponibles
  2. Obtener tipos de conceptos disponibles
  3. Obtener tipos de documentos disponibles
  4. Obtener tipos de alícuotas disponibles
  5. Obtener tipos de monedas disponibles
  6. Obtener tipos de opciones disponibles para el comprobante
  7. Obtener tipos de tributos disponibles

Otros métodos disponibles

  1. Transformar formato de fecha que utiliza AFIP (yyyymmdd) a yyyy-mm-dd
  2. Obtener estado del servidor

Obtener número del último comprobante creado

Debemos utilizar el método GetLastVoucher con los parámetros punto de venta y tipo de comprobante que queremos consultar.

$last_voucher = $afip->ElectronicBilling->GetLastVoucher(1,6) //Devuelve el número del último comprobante creado para el punto de venta 1 y el tipo de comprobante 6 (Factura B)

Para mas información acerca de este método ver el item 4.15 de la especificación del Web service

Crear y asignar CAE a siguiente 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

Obtener información de un comprobante

Con este método podemos obtener toda la información relacionada a un comprobante o simplemente saber si el comprobante existe, debemos ejecutar el método GetVoucherInfo pasándole como parámetros el número de comprobante, el punto de venta y el tipo de comprobante, nos devolverá un Array con toda la información del comprobante o NULL si el comprobante no existe.

$voucher_info = $afip->ElectronicBilling->GetVoucherInfo(1,1,6); //Devuelve la información del comprobante 1 para el punto de venta 1 y el tipo de comprobante 6 (Factura B)


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>';
}

Para mas información acerca de este método ver el item 4.19 de la especificación del Web service

Obtener tipos de comprobantes disponibles

$voucher_types = $afip->ElectronicBilling->GetVoucherTypes();

Para mas información acerca de este método ver el item 4.4 de la especificación del Web service

Obtener tipos de conceptos disponibles

$concept_types = $afip->ElectronicBilling->GetConceptTypes();

Para mas información acerca de este método ver el item 4.5 de la especificación del Web service

Obtener tipos de comprobantes disponibles

$voucher_types = $afip->ElectronicBilling->GetVoucherTypes();

Para mas información acerca de este método ver el item 4.4 de la especificación del Web service

Obtener tipos de conceptos disponibles

$concept_types = $afip->ElectronicBilling->GetConceptTypes();

Para mas información acerca de este método ver el item 4.5 de la especificación del Web service

Obtener tipos de documentos disponibles

$document_types = $afip->ElectronicBilling->GetDocumentTypes();

Para mas información acerca de este método ver el item 4.6 de la especificación del Web service

Obtener tipos de alícuotas disponibles

$aloquot_types = $afip->ElectronicBilling->GetAliquotTypes();

Para mas información acerca de este método ver el item 4.7 de la especificación del Web service

Obtener tipos de monedas disponibles

$currencies_types = $afip->ElectronicBilling->GetCurrenciesTypes();

Para mas información acerca de este método ver el item 4.8 de la especificación del Web service

Obtener tipos de opciones disponibles para el comprobante

$option_types = $afip->ElectronicBilling->GetOptionsTypes();

Para mas información acerca de este método ver el item 4.10 de la especificación del Web service

Transformar formato de fecha que utiliza AFIP (yyyymmdd) a yyyy-mm-dd

Para esto utilizaremos el método FormatDate pasándole la fecha como parámetro

$date = $afip->ElectronicBilling->FormatDate('19970508'); //Nos devuelve 1997-05-08

Obtener estado del servidor

Para esto utilizaremos el método GetServerStatus

$server_status = $afip->ElectronicBilling->GetServerStatus();

echo 'Este es el estado del servidor:';
echo '<pre>';
print_r($server_status);
echo '</pre>';
⚠️ **GitHub.com Fallback** ⚠️