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
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
Métodos disponibles
- Obtener número del último comprobante creado
- Crear y asignar CAE a un comprobante
- Crear y asignar CAE a siguiente comprobante
- Obtener información de un comprobante
Métodos para obtener los tipos de datos disponibles
- Obtener tipos de comprobantes disponibles
- Obtener tipos de conceptos disponibles
- Obtener tipos de documentos disponibles
- Obtener tipos de alícuotas disponibles
- Obtener tipos de monedas disponibles
- Obtener tipos de opciones disponibles para el comprobante
- Obtener tipos de tributos disponibles
Otros métodos disponibles
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
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
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
$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
$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
$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
$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
$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
$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
$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
$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
Para esto utilizaremos el método FormatDate
pasándole la fecha como parámetro
$date = $afip->ElectronicBilling->FormatDate('19970508'); //Nos devuelve 1997-05-08
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>';