AfipSDK / afip.php

Libreria para usar los Web Services de AFIP con PHP
https://afipsdk.com/
MIT License
270 stars 119 forks source link

Problema para generar factura #51

Closed Rosamunda closed 5 years ago

Rosamunda commented 5 years ago

Hola!

Acabo de generar un certificado y acabo de autorizarlo desde WSASS Autoservicio de Acceso a WebServices en AFIP.

La autorización la generé para wsfe - Facturación electrónica y me dijo OK. Autorización fue creada [...]

En mi script tengo una carpeta includes y allí metí en la carpeta afip toda la aplicación descargada de Github. Metí en el archivo key la key generada desde mi máquina y en el archivo cert el resultado que me tiró la aplicación de AFIP. No toqué los nombres originales de los archivos.

Mi problema es que no logro conectarme, ni generar nada y no entiendo porqué.

En mi script puse esto:

include $_SERVER['DOCUMENT_ROOT'].'/includes/afip/Afip.php';

$afip = new Afip(
    array(
        'CUIT' => "20123456789",
        'production' => FALSE
    )
);

$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);

echo $res['CAE']; //CAE asignado el comprobante
echo $res['CAEFchVto']; //Fecha de vencimiento del CAE (yyyy-mm-dd)

No imprime nada, y el error log muestra:

[19-Sep-2019 18:13:55 UTC] PHP Fatal error: Uncaught Exception: Failed to open /home/public_html/includes/afip/Class/ElectronicBilling.php in /home/public_html/includes/afip/Afip.php:249 Stack trace:

0 /home/public_html/demo.php(45): Afip->__get('ElectronicBilli...')

1 {main}

thrown in /home/public_html/includes/afip/Afip.php on line 249

En Afip.php la línea en cuestión que tira la excepción está aquí:

    public function __get($property)
    {
        if (in_array($property, $this->implemented_ws)) {
            if (isset($this->{$property})) {
                return $this->{$property};
            } else {
                $file = __DIR__.'/Class/'.$property.'.php';
                if (!file_exists($file)) 
                    throw new Exception("Failed to open ".$file."\n", 1);

                include_once $file;

                return ($this->{$property} = new $property($this));
            }
        } else {
            return $this->{$property};
        }
    }
}

Es algo que me está faltando hacer o completar?

guillebalmacedaonline commented 5 years ago

Hola, me parece que tenes un error fatal en la ejecucion de codigo php no encuentra la ruta del archivo que estas solicitando.. PHP Fatal error: Uncaught Exception: Failed to open /home/public_html/includes/afip/Class/ElectronicBilling.php Fijate de tener la carpeta y el archivo correspondiente en esa ubicacion. Por el momento no es un error de libreria.

Rosamunda commented 5 years ago

Muchas gracias!!!