</div> </div> <!-- FIN DATOS BÁSICOS --> <!-- INICIO DOCUMENTOS --> <div role="tabpanel" class="tab-pane" id="documentos"> <p>Aquí podrá generar y enviar la respuesta para los documentos que <?php echo $DteIntercambio->getEmisor()->razon_social; ?> envió a <?php echo $Emisor->razon_social; ?> .</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['action' => $_base . '/dte/dte_intercambios/responder/' . $DteIntercambio->codigo, 'onsubmit' => 'Form.check() && Form.checkSend()']); echo $f->input(['name' => 'NmbContacto', 'label' => 'Contacto', 'value' => substr($_Auth->User->nombre, 0, 40), 'attr' => 'maxlength="40"', 'check' => 'notempty']); echo $f->input(['name' => 'MailContacto', 'label' => 'Email contacto', 'value' => substr($_Auth->User->email, 0, 80), 'attr' => 'maxlength="80"', 'check' => 'notempty email']); echo $f->input(['name' => 'Recinto', 'label' => 'Recinto', 'value' => substr($Emisor->direccion . ', ' . $Emisor->getComuna()->comuna, 0, 80), 'check' => 'notempty', 'attr' => 'maxlength="80"', 'help' => 'Lugar donde se recibieron los productos o prestaron los servicios']); echo $f->input(['name' => 'responder_a', 'label' => 'Responder a', 'value' => $DteIntercambio->de, 'check' => 'notempty email']); $estado = $EnvioDte->getEstadoValidacion(['RutReceptor' => $Emisor->rut . '-' . $Emisor->dv]); echo $f->input(['type' => 'select', 'name' => 'EstadoRecepEnv', 'label' => 'Estado envío', 'options' => \sasco\LibreDTE\Sii\RespuestaEnvio::$estados['envio'], 'value' => $estado, 'check' => 'notempty', 'attr' => 'onchange="document.getElementById(\'RecepEnvGlosaField\').value=this.selectedOptions[0].textContent"']); echo $f->input(['name' => 'RecepEnvGlosa', 'label' => 'Glosa estado envío', 'value' => \sasco\LibreDTE\Sii\RespuestaEnvio::$estados['envio'][$estado], 'check' => 'notempty']); // Recepción de envío $RecepcionDTE = []; foreach ($Documentos as $Dte) { $estado_sii = !isset($DteIntercambio->estado) ? $Dte->getEstado($Firma) : ['GLOSA' => '']; $estado = $Dte->getEstadoValidacion(['RUTEmisor' => $DteIntercambio->getEmisor()->rut . '-' . $DteIntercambio->getEmisor()->dv, 'RUTRecep' => $Emisor->rut . '-' . $Emisor->dv]); $RecepcionDTE[] = ['TipoDTE' => $Dte->getTipo(), 'Folio' => $Dte->getFolio(), 'FchEmis' => $Dte->getFechaEmision(), 'RUTEmisor' => $Dte->getEmisor(), 'RUTRecep' => $Dte->getReceptor(), 'MntTotal' => $Dte->getMontoTotal(), 'estado_sii' => isset($estado_sii['GLOSA']) ? $estado_sii['GLOSA'] : (isset($estado_sii['GLOSA_ERR']) ? $estado_sii['GLOSA_ERR'] : 'No determinado'), 'EstadoRecepDTE' => $estado, 'RecepDTEGlosa' => \sasco\LibreDTE\Sii\RespuestaEnvio::$estados['documento'][$estado], 'acuse' => (int) (bool) (!$estado)]; }
<h1>Usuario empresa <?php echo $Contribuyente->razon_social; ?> </h1> <p>Aquí podrá modificar los usuarios autorizados a operar con la empresa <?php echo $Contribuyente->razon_social; ?> RUT <?php echo num($Contribuyente->rut) . '-' . $Contribuyente->dv; ?> , para la cual usted es el usuario administrador.</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check() && Form.checkSend()']); echo $f->input(['type' => 'js', 'id' => 'usuarios', 'label' => 'Usuarios autorizados', 'titles' => ['Usuario', 'Permiso'], 'inputs' => [['name' => 'usuario'], ['type' => 'select', 'name' => 'permiso', 'options' => $permisos_usuarios]], 'values' => $Contribuyente->getUsuarios(), 'help' => 'Debe ingresar el nombre del usuario que desea autorizar y el permiso. Si quiere asignar varios permisos a un usuario deberá agregarlo varias veces.']); echo $f->end('Modificar usuarios autorizados');
<a href="<?php echo $_base; ?> /dte/dte_compras" title="Volver a IEC" class="pull-right"><span class="btn btn-default">Volver a IEC</span></a> <h1>Importar libro de compras (IEC) desde archivo CSV</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check() && Form.checkSend(\'¿Está seguro de importar el libro seleccionado?\')']); echo $f->input(['type' => 'file', 'name' => 'archivo', 'label' => 'Libro CSV', 'help' => 'Libro de compras en formato CSV. Puede consultar un <a href="https://raw.githubusercontent.com/LibreDTE/libredte-lib/master/examples/libros/libro_compras.csv">ejemplo del libro</a> o bien revisar la <a href="http://wiki.libredte.cl/doku.php/faq/libredte/general/libro_compras_ventas#detalle_libro_compra">documentación de las columnas</a>.', 'check' => 'notempty', 'attr' => 'accept="csv"']); echo $f->end('Importar libro de compras');
</div> <!-- FIN DETALLES --> <!-- INICIO ESTADÍSTICAS --> <div role="tabpanel" class="tab-pane" id="estadisticas"> <img src="<?php echo $_base . '/dte/dte_guias/grafico_documentos_diarios/' . $Libro->periodo; ?> " alt="Gráfico guías diarias del período" class="img-responsive thumbnail center" /> </div> <!-- FIN ESTADÍSTICAS --> <?php } ?> <!-- INICIO REVISIÓN --> <div role="tabpanel" class="tab-pane" id="revision"> <p>Aquí puede subir el XML con el resultado de la revisión del libro de guías de despacho envíado al SII.</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['action' => $_base . '/dte/dte_guias/subir_revision/' . $Libro->periodo, 'onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'xml', 'label' => 'XML revisión', 'check' => 'notempty', 'attr' => 'accept=".xml"']); echo $f->end('Subir XML de revisión'); ?> </div> <!-- FIN REVISIÓN --> </div> </div>
$contacto[] = $Emisor->{$c}; } } if ($contacto) { $mensaje .= implode(' - ', $contacto) . "\n"; } $mensaje .= $Emisor->direccion . ', ' . $Emisor->getComuna()->comuna . "\n"; $table = []; $checked = []; foreach ($emails as $k => $e) { $table[] = [$e, $k]; if ($k == 'Email intercambio') { $checked = [$e]; } } $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['action' => $_base . '/dte/dte_emitidos/enviar_email/' . $DteEmitido->dte . '/' . $DteEmitido->folio]); echo $f->input(['type' => 'tablecheck', 'name' => 'emails', 'label' => 'Para', 'titles' => ['Email', 'Origen'], 'table' => $table, 'checked' => $checked, 'help' => 'Seleccionar emails a los que se enviará el DTE']); echo $f->input(['name' => 'asunto', 'label' => 'Asunto', 'value' => $asunto, 'check' => 'notempty']); echo $f->input(['type' => 'textarea', 'name' => 'mensaje', 'label' => 'Mensaje', 'value' => $mensaje, 'rows' => 10, 'check' => 'notempty']); echo $f->input(['type' => 'checkbox', 'name' => 'cedible', 'label' => '¿Copia cedible?']); echo $f->end('Enviar PDF y XML por email'); } else { echo '<p>No hay emails registrados para el receptor ni el DTE.</p>', "\n"; } ?> </div> <!-- FIN ENVIAR POR EMAIL --> <!-- INICIO INTERCAMBIO --> <div role="tabpanel" class="tab-pane" id="intercambio">
<a href="<?php echo $_base; ?> /dte/dte_recibidos/listar" title="Volver a los documentos recibidos" class="pull-right"><span class="btn btn-default">Volver a DTE recibidos</span></a> <h1>Agregar DTE recibido</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['name' => 'emisor', 'label' => 'RUT emisor', 'check' => 'notempty rut']); echo $f->input(['type' => 'select', 'name' => 'dte', 'label' => 'Documento', 'options' => ['' => 'Seleccionar tipo de DTE'] + $tipos_documentos, 'check' => 'notempty']); echo $f->input(['name' => 'folio', 'label' => 'Folio', 'check' => 'notempty integer']); echo $f->input(['type' => 'date', 'name' => 'fecha', 'label' => 'Fecha documento', 'check' => 'notempty date']); echo $f->input(['name' => 'tasa', 'label' => 'Tasa IVA', 'check' => 'integer']); echo $f->input(['name' => 'exento', 'label' => 'Monto exento', 'check' => 'integer']); echo $f->input(['name' => 'neto', 'label' => 'Neto', 'check' => 'integer']); echo $f->input(['name' => 'iva_uso_comun', 'label' => 'IVA uso común', 'check' => 'integer', 'help' => 'Si el IVA es de uso común aquí va el factor de proporcionalidad']); echo $f->input(['type' => 'select', 'name' => 'iva_no_recuperable', 'label' => 'IVA no recuperable', 'options' => ['' => 'El IVA es recuperable'] + $iva_no_recuperables]); echo $f->input(['type' => 'select', 'name' => 'impuesto_adicional', 'label' => 'Impuesto adicional', 'options' => ['' => 'Sin impuesto adicional'] + $impuesto_adicionales]); echo $f->input(['name' => 'impuesto_adicional_tasa', 'label' => 'Tasa Imp. adic.', 'check' => 'integer', 'help' => 'Tasa del impuesto adicional (obligatorio si hay impuesto adicional)']); echo $f->input(['type' => 'select', 'name' => 'impuesto_tipo', 'label' => 'Tipo de impuesto', 'options' => [1 => 'IVA', 2 => 'Ley 18211']]); echo $f->input(['type' => 'checkbox', 'name' => 'anulado', 'label' => '¿Anulado?']); echo $f->input(['name' => 'impuesto_sin_credito', 'label' => 'Impuesto sin crédito', 'check' => 'integer']); echo $f->input(['name' => 'monto_activo_fijo', 'label' => 'Monto activo fijo', 'check' => 'integer']); echo $f->input(['name' => 'monto_iva_activo_fijo', 'label' => 'IVA activo fijo', 'check' => 'integer']); echo $f->input(['name' => 'iva_no_retenido', 'label' => 'IVA no retenido', 'check' => 'integer']); echo $f->end('Agregar DTE recibido');
<h1>Agregar firma electrónica del usuario <?php echo $_Auth->User->usuario; ?> </h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'firma', 'label' => 'Firma electrónica', 'help' => 'Certificado digital con extensión .p12', 'check' => 'notempty', 'attr' => 'accept="application/x-pkcs12"']); echo $f->input(['type' => 'password', 'name' => 'contrasenia', 'label' => 'Contraseña firma', 'help' => 'Contraseña que permite abrir el certificado digital de la firma electrónica']); echo $f->end('Agregar o cambiar mi firma electrónica');
<h1>Generar XML de DTE</h1> <script type="text/javascript"> var plantillas_dte = JSON.parse('<?php echo json_encode($plantillas_dte); ?> '); </script> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['id' => 'generar_xml', 'onsubmit' => 'dte_generar_xml_validar()']); ?> <div class="row"> <div class="col-md-6"> <h2>Emisor</h2> <?php $f->setStyle(false); echo $f->input(['name' => 'RUTEmisor', 'label' => 'RUT', 'placeholder' => 'RUT del emisor: 11222333-4', 'check' => 'notempty rut', 'attr' => 'maxlength="12" onblur="Emisor.setDatos(\'generar_xml\')"']); echo '<br/>'; echo $f->input(['name' => 'RznSoc', 'label' => 'Razón social', 'placeholder' => 'Razón social del emisor: Empresa S.A.', 'check' => 'notempty', 'attr' => 'maxlength="100"']); echo '<br/>'; echo $f->input(['name' => 'GiroEmis', 'label' => 'Giro', 'placeholder' => 'Giro del emisor', 'check' => 'notempty', 'attr' => 'maxlength="80"']); echo '<br/>'; echo $f->input(['type' => 'select', 'name' => 'Acteco', 'label' => 'Actividad económica', 'options' => ['' => 'Actividad económica del emisor'] + $actividades_economicas, 'check' => 'notempty']); echo '<br/>'; echo $f->input(['name' => 'DirOrigen', 'label' => 'Dirección', 'placeholder' => 'Dirección del emisor', 'check' => 'notempty', 'attr' => 'maxlength="70"']); echo '<br/>'; echo $f->input(['type' => 'select', 'name' => 'CmnaOrigen', 'label' => 'Comuna', 'options' => ['' => 'Comuna del emisor'] + $comunas, 'check' => 'notempty']); echo '<br/>'; echo $f->input(['name' => 'Telefono', 'label' => 'Teléfono', 'placeholder' => 'Teléfono del emisor (opcional)', 'attr' => 'maxlength="20"']); echo '<br/>'; echo $f->input(['name' => 'CorreoEmisor', 'label' => 'Email', 'placeholder' => 'Email del emisor (opcional)', 'attr' => 'maxlength="80"']);
<!-- INICIO EMISIÓN DTE --> <div role="tabpanel" class="tab-pane active" id="dte"> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['action' => $_base . '/certificacion/set_pruebas_dte', 'id' => 'form_dte', 'onsubmit' => 'Form.check(\'form_dte\')']); echo $f->input(['type' => 'file', 'name' => 'archivo', 'label' => 'Set pruebas ventas', 'check' => 'notempty', 'help' => 'Archivo del set de pruebas con los casos (de un mismo SET) que se desean generar, debe estar codificado en ISO-8859-1. Puedes ver un ejemplo del archivo que se espera <a href="https://github.com/sascocl/LibreDTE/blob/master/examples/set_pruebas/001-basico.txt" target="_blank">para el set básico</a> o <a href="https://github.com/sascocl/LibreDTE/blob/master/examples/set_pruebas/004-factura_exenta.txt" target="_blank">para el set de factura exenta</a>', 'attr' => 'accept=".txt"']); echo $f->input(['type' => 'js', 'name' => 'folios', 'label' => 'Folios a usar', 'titles' => ['Tipo documento', 'Folio desde'], 'inputs' => [['name' => 'folios'], ['name' => 'desde']], 'check' => 'notempty', 'help' => 'Se debe indicar el código del tipo de documento y el folio desde el cual se generarán los documentos']); echo $f->end('Siguiente »'); ?> </div> <!-- FIN EMISIÓN DTE --> <!-- INICIO VENTAS --> <div role="tabpanel" class="tab-pane" id="ventas"> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['action' => $_base . '/certificacion/set_pruebas_ventas', 'id' => 'form_ventas', 'onsubmit' => 'Form.check(\'form_ventas\')']); echo $f->input(['type' => 'file', 'name' => 'archivo', 'label' => 'XML EnvioDTE', 'check' => 'notempty', 'help' => 'Archivo XML del EnvioDTE generado a partir del caso de prueba que se desea crear su libro de ventas', 'attr' => 'accept=".xml"']); echo $f->input(['name' => 'PeriodoTributario', 'label' => 'Periodo tributario', 'value' => '1980-01', 'placeholder' => '1980-01', 'check' => 'notempty', 'help' => 'Debe ser un mes del año 1980']); echo $f->end('Descargar Libro de Ventas'); ?> </div> <!-- FIN VENTAS --> <!-- INICIO COMPRAS --> <div role="tabpanel" class="tab-pane" id="compras"> <p>Para generar el libro de compras deberá crear un archivo en formato CSV que contendrá los datos de las compras del set de pruebas entregado por el SII. Luego deberá cargar dicho archivo CSV en el <a href="<?php echo $_base; ?> /utilidades/generar_libro">Generador de XML de Libro de Compra</a> de LibreDTE.</p> <p>Ejemplos archivos:</p>
<h1>Generar XML Libro de Guía de Despacho</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['name' => 'RutEmisorLibro', 'label' => 'Emisor', 'placeholder' => '55666777-8', 'help' => 'RUT de la empresa que emite el libro', 'check' => 'notempty rut']); echo $f->input(['name' => 'PeriodoTributario', 'label' => 'Período tributario', 'placeholder' => date('Y-m'), 'check' => 'notempty']); echo $f->input(['type' => 'date', 'name' => 'FchResol', 'label' => 'Fecha resolución', 'placeholder' => '2014-12-05', 'check' => 'notempty date']); echo $f->input(['name' => 'NroResol', 'label' => 'Número resolución', 'value' => 0, 'help' => 'En certificación debe ser: 0', 'check' => 'notempty integer']); echo $f->input(['type' => 'select', 'name' => 'TipoLibro', 'label' => 'Tipo libro', 'options' => ['MENSUAL' => 'MENSUAL', 'ESPECIAL' => 'ESPECIAL'], 'help' => 'En certificación debe ser: ESPECIAL', 'check' => 'notempty']); echo $f->input(['type' => 'select', 'name' => 'TipoEnvio', 'label' => 'Tipo envío', 'options' => ['TOTAL' => 'TOTAL'], 'help' => 'En certificación debe ser: TOTAL', 'check' => 'notempty']); echo $f->input(['name' => 'FolioNotificacion', 'label' => 'Folio notificación', 'value' => 1, 'check' => 'notempty integer']); echo $f->input(['type' => 'file', 'name' => 'archivo', 'label' => 'Archivo detalle', 'help' => 'Archivo CSV (separado por punto y coma) con el detalle del Libro de Guías de despacho que se desea generar en XML: <a href="https://raw.githubusercontent.com/LibreDTE/libredte-lib/master/examples/libros/libro_guias.csv">ejemplo archivo CSV</a>', 'check' => 'notempty', 'attr' => 'accept=".csv"']); echo $f->input(['type' => 'file', 'name' => 'firma', 'label' => 'Firma electrónica', 'help' => 'Certificado digital con extensión .p12', 'check' => 'notempty', 'attr' => 'accept=".p12,.pfx"']); echo $f->input(['type' => 'password', 'name' => 'contrasenia', 'label' => 'Contraseña firma', 'help' => 'Contraseña que permite abrir el certificado digital de la firma electrónica', 'check' => 'notempty']); echo $f->end('Generar XML del libro');
<h1>Consultar documento tributario electrónico (DTE)</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['focus' => 'emisorField', 'onsubmit' => 'Form.check()']); echo $f->input(['name' => 'emisor', 'label' => 'RUT emisor', 'check' => 'notempty rut']); echo $f->input(['type' => 'select', 'name' => 'dte', 'label' => 'Tipo DTE', 'options' => ['' => 'Seleccionar un tipo de documento'] + $dtes, 'value' => $dte, 'check' => 'notempty']); echo $f->input(['name' => 'folio', 'label' => 'Folio DTE', 'check' => 'notempty integer']); echo $f->input(['type' => 'date', 'name' => 'fecha', 'label' => 'Fecha emisión', 'check' => 'notempty date']); echo $f->input(['name' => 'total', 'label' => 'Monto total', 'check' => 'notempty integer']); echo $f->end('Consultar DTE'); // si se encontró un DTE se muestra if (isset($DteEmitido)) { ?> <h2><?php echo $DteEmitido->getTipo()->tipo; ?> #<?php echo $DteEmitido->folio; ?> a <?php echo \sowerphp\app\Utility_Rut::addDV($DteEmitido->receptor); ?> </h2> <div class="row"> <div class="col-md-9"> <?php new \sowerphp\general\View_Helper_Table([['Documento', 'Folio', 'Receptor', 'Exento', 'Neto', 'IVA', 'Total'], [$DteEmitido->getTipo()->tipo, $DteEmitido->folio, $DteEmitido->getReceptor()->razon_social, num($DteEmitido->exento), num($DteEmitido->neto), num($DteEmitido->iva), num($DteEmitido->total)]]); ?> <div class="row"> <div class="col-md-6"> <a class="btn btn-default btn-lg btn-block" href="<?php
<h1>Generar PDF a partir de XML EnvioDTE</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'xml', 'label' => 'XML EnvioDTE', 'help' => 'Archivo XML de EnvioDTE', 'check' => 'notempty']); echo $f->input(['type' => 'file', 'name' => 'logo', 'label' => 'Logo PNG', 'help' => 'Logo del emisor en formato PNG']); echo $f->input(['type' => 'checkbox', 'name' => 'cedible', 'label' => '¿Cedible?', 'help' => 'Si se selecciona, se generará adicionalmente versión del documento con leyenda: CEDIBLE']); echo $f->end('Generar documento en PDF');
<h1>Modificar empresa <?php echo $Contribuyente->razon_social; ?> </h1> <p>Aquí podrá modificar los datos de la empresa <?php echo $Contribuyente->razon_social; ?> RUT <?php echo num($Contribuyente->rut) . '-' . $Contribuyente->dv; ?> , para la cual usted es el usuario administrador.</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check() && Form.checkSend()']); ?> <script type="text/javascript"> $(function() { var url = document.location.toString(); if (url.match('#')) { $('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ; } }); </script> <div role="tabpanel"> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"><a href="#datos" aria-controls="datos" role="tab" data-toggle="tab">Datos básicos</a></li> <li role="presentation"><a href="#logo" aria-controls="logo" role="tab" data-toggle="tab">Logo</a></li> <li role="presentation"><a href="#ambientes" aria-controls="ambientes" role="tab" data-toggle="tab">Ambientes: producción y certificación</a></li>
<h1>Generar XML Libro de Compra o Venta</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'select', 'name' => 'simplificado', 'label' => '¿Libro normal o simplificado?', 'options' => ['Normal', 'Simplificado'], 'check' => 'notempty', 'help' => 'Si el libro es simplificado no se firmará']); echo $f->input(['type' => 'select', 'name' => 'TipoOperacion', 'label' => 'Tipo operación', 'options' => ['COMPRA' => 'COMPRA', 'VENTA' => 'VENTA'], 'check' => 'notempty']); echo $f->input(['name' => 'RutEmisorLibro', 'label' => 'Emisor', 'placeholder' => '55666777-8', 'help' => 'RUT de la empresa que emite el libro', 'check' => 'notempty rut']); echo $f->input(['name' => 'PeriodoTributario', 'label' => 'Período tributario', 'placeholder' => '2000-01', 'help' => 'En certificación o simplificado debe ser un mes del año 2000 (compras) o 1980 (ventas)', 'check' => 'notempty']); echo $f->input(['type' => 'date', 'name' => 'FchResol', 'label' => 'Fecha resolución', 'placeholder' => '2006-01-20', 'help' => 'En certificación o simplificado debe ser: 2006-01-20', 'check' => 'notempty date']); echo $f->input(['name' => 'NroResol', 'label' => 'Número resolución', 'placeholder' => 102006, 'help' => 'En certificación o simplificado debe ser: 102006', 'check' => 'notempty integer']); echo $f->input(['type' => 'select', 'name' => 'TipoLibro', 'label' => 'Tipo libro', 'options' => ['MENSUAL' => 'MENSUAL', 'ESPECIAL' => 'ESPECIAL'], 'help' => 'En certificación o simplificado debe ser: ESPECIAL', 'check' => 'notempty']); echo $f->input(['type' => 'select', 'name' => 'TipoEnvio', 'label' => 'Tipo envío', 'options' => ['TOTAL' => 'TOTAL'], 'help' => 'En certificación o simplificado debe ser: TOTAL', 'check' => 'notempty']); echo $f->input(['name' => 'FolioNotificacion', 'label' => 'Folio notificación', 'placeholder' => 102006, 'help' => 'En certificación o simplificado debe ser: 102006', 'check' => 'notempty integer']); echo $f->input(['type' => 'file', 'name' => 'archivo', 'label' => 'Archivo detalle', 'help' => 'Archivo CSV (separado por punto y coma) con el detalle del Libro de Compras o Ventas que se desea generar en XML: <a href="https://raw.githubusercontent.com/LibreDTE/libredte-lib/master/examples/libros/libro_ventas.csv">ejemplo archivo CSV ventas</a> o <a href="https://raw.githubusercontent.com/LibreDTE/libredte-lib/master/examples/libros/libro_compras.csv">ejemplo archivo CSV compras</a>', 'check' => 'notempty', 'attr' => 'accept=".csv"']); echo $f->input(['type' => 'file', 'name' => 'firma', 'label' => 'Firma electrónica', 'help' => 'Certificado digital con extensión .p12', 'check' => 'notempty', 'attr' => 'accept=".p12,.pfx"']); echo $f->input(['type' => 'password', 'name' => 'contrasenia', 'label' => 'Contraseña firma', 'help' => 'Contraseña que permite abrir el certificado digital de la firma electrónica', 'check' => 'notempty']); echo $f->end('Generar XML del libro');
<h1>Modificar mantenedor de folios</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['name' => 'siguiente', 'label' => 'Siguiente folio', 'value' => $DteFolio->siguiente, 'help' => 'Número de folio que es el siguiente que se debe asignar al documento que se emita', 'check' => 'notempty integer']); echo $f->input(['name' => 'alerta', 'label' => 'Cantidad alerta', 'value' => $DteFolio->alerta, 'help' => 'Cuando los folios disponibles sean igual a esta cantidad se notificará al administrador de la empresa', 'check' => 'notempty integer']); echo $f->end('Modificar mantenedor de folios');
<h1>Emitir DTE de <?php echo $Emisor->razon_social; ?> (<?php echo $Emisor->getRUT(); ?> )</h1> <?php if (isset($DteEmitido)) { ?> <script type="text/javascript"> $(function() { DTE.calcular() }); </script> <?php } $f = new \sowerphp\general\View_Helper_Form(false); echo $f->begin(['id' => 'emitir_dte', 'focus' => 'RUTRecepField', 'action' => $_base . '/dte/documentos/previsualizacion', 'onsubmit' => 'DTE.check()']); ?> <!-- DATOS DEL DOCUMENTO --> <div class="row"> <div class="form-group col-md-8"><?php echo $f->input(['name' => 'TpoDoc', 'type' => 'select', 'options' => $tipos_dte, 'value' => 33, 'attr' => 'onblur="DTE.setTipo(this.value)"']); ?> </div> <div class="form-group col-md-4"><?php echo $f->input(['type' => 'date', 'name' => 'FchEmis', 'placeholder' => 'Fecha emisión DTE', 'popover' => 'Día en que se emite el documento', 'value' => date('Y-m-d'), 'check' => 'notempty date']); ?> </div> </div> <!-- DATOS DEL EMISOR --> <div class="row">
<h1>Subir CAF</h1> <p>Aquí podrá subir los códigos de autorización de folios (CAF) obtenidos desde el SII para la empresa <?php echo $Emisor->razon_social; ?> .</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'caf', 'label' => 'Archivo CAF', 'check' => 'notempty', 'help' => 'Archivo CAF en formato XML descargado desde SII', 'attr' => 'accept="application/xml"']); echo $f->end('Subir archivo CAF');
<a href="<?php echo $_base; ?> /dte/dte_compras" title="Volver a IEC" class="pull-right"><span class="btn btn-default">Volver a IEC</span></a> <h1>Enviar libro de compras (IEC) sin movimientos</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check() && Form.checkSend(\'¿Está seguro de enviar el libro sin movimientos?\')']); echo $f->input(['name' => 'periodo', 'label' => 'Período', 'placeholder' => date('Ym'), 'help' => 'Período en formato AAAAMM, ejemplo: ' . date('Ym'), 'check' => 'notempty integer']); echo $f->end('Enviar libro sin movimientos');
<h1>Crear mantenedor de folios</h1> <p>Aquí podrá agregar un mantenedor de folios para un nuevo tipo de documento. En el paso siguiente se le pedirá que suba el primer archio CAF.</p> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'select', 'name' => 'dte', 'label' => 'Tipo de DTE', 'options' => ['' => 'Seleccione un tipo de DTE'] + $dte_tipos, 'check' => 'notempty']); echo $f->input(['name' => 'alerta', 'label' => 'Cantidad alerta', 'value' => 0, 'help' => 'Cuando los folios disponibles sean igual a esta cantidad se notificará al administrador de la empresa', 'check' => 'notempty integer']); echo $f->end('Crear mantenedor de folios e ir al paso siguiente');
?> " /> <?php echo $info['name']; ?> </a> <?php } ?> </div> <h1>Proceso de certificación » Etapa 3: intercambio</h1> <div class="panel panel-default"> <div class="panel-heading">Instrucciones SII</div> <div class="panel-body"> <p class="lead">En esta etapa el SII envía documentos tributarios electrónicos al contribuyente postulante para comprobar que éste entrega un acuse de recibo del envío y la aceptación o rechazo de los documentos enviados, de acuerdo a las definiciones que el SII ha establecido para el intercambio de información entre contribuyentes autorizados.</p> <p>La descarga de los documentos tributarios electrónicos y la posterior carga de los archivos con las respuestas se hace a través del <a href="https://www4.sii.cl/pfeInternet">Menú Set de Intercambio</a>.</p> <p>Una vez que el SII haya revisado y verificado la consistencia de las respuestas enviadas, se considera que la empresa ha superado la prueba de Intercambio de Información y la empresa pasará a la siguiente etapa del proceso de certificación, <a href="muestras_impresas">las pruebas de impresión</a>.</p> </div> </div> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'xml', 'label' => 'XML EnvioDTE', 'help' => 'Archivo XML de EnvioDTE envíados por el SII para intercambio', 'check' => 'notempty', 'attr' => 'accept=".xml"']); echo $f->input(['name' => 'emisor', 'label' => 'Emisor esperado', 'value' => '88888888-8', 'placeholder' => '88888888-8', 'help' => 'RUT del emisor esperado del DTE', 'check' => 'notempty rut']); echo $f->input(['name' => 'receptor', 'label' => 'Receptor esperado', 'placeholder' => '11222333-4', 'help' => 'RUT empresa que se está certificando', 'check' => 'notempty rut']); echo $f->input(['type' => 'file', 'name' => 'firma', 'label' => 'Firma electrónica', 'help' => 'Certificado digital con extensión .p12', 'check' => 'notempty', 'attr' => 'accept=".p12,.pfx"']); echo $f->input(['type' => 'password', 'name' => 'contrasenia', 'label' => 'Contraseña firma', 'help' => 'Contraseña que permite abrir el certificado digital de la firma electrónica', 'check' => 'notempty']); echo $f->end('Generar XML de respuesta a envío');
<h1>Firmar XML</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'xml', 'label' => 'Archivo XML', 'check' => 'notempty', 'help' => 'Archivo XML que se desea firmar', 'attr' => 'accept=".xml"']); echo $f->input(['type' => 'file', 'name' => 'firma', 'label' => 'Firma electrónica', 'help' => 'Certificado digital con extensión .p12', 'check' => 'notempty', 'attr' => 'accept=".p12,.pfx"']); echo $f->input(['type' => 'password', 'name' => 'contrasenia', 'label' => 'Contraseña firma', 'help' => 'Contraseña que permite abrir el certificado digital de la firma electrónica', 'check' => 'notempty']); echo $f->end('Generar XML del libro'); ?> <p>Se firmará el primer nodo que sea hijo de la raíz, en el siguiente ejemplo la raíz es A y se firmaría el contenido del nodo B:</p> <pre> <A> <B>...</B> </A> </pre>
echo $Emisor->razon_social; ?> .</p> <div class="text-right"> <a href="<?php echo $_base; ?> /dte/dte_recibidos/agregar" class="btn btn-default"> <span class="fa fa-plus"></span> Agregar DTE recibido </a> <br/><br/> </div> <?php foreach ($documentos as &$d) { $acciones = '<a href="' . $_base . '/dte/dte_recibidos/modificar/' . $d['emisor'] . '/' . $d['dte'] . '/' . $d['folio'] . '" title="Modificar DTE" class="btn btn-default' . ($d['intercambio'] ? ' disabled' : '') . '"><span class="fa fa-edit"></span></a>'; $acciones .= ' <a href="' . $_base . '/dte/dte_intercambios/pdf/' . $d['intercambio'] . '" title="Descargar PDF del DTE" class="btn btn-default' . (!$d['intercambio'] ? ' disabled' : '') . '" role="button"><span class="fa fa-file-pdf-o"></span></a>'; $d[] = $acciones; $d['total'] = num($d['total']); unset($d['emisor'], $d['dte']); } $f = new \sowerphp\general\View_Helper_Form(false); array_unshift($documentos, [$f->input(['type' => 'select', 'name' => 'dte', 'options' => ['' => 'Todos'] + $tipos_dte, 'value' => isset($search['dte']) ? $search['dte'] : '']), $f->input(['name' => 'folio', 'value' => isset($search['folio']) ? $search['folio'] : '', 'check' => 'integer']), $f->input(['name' => 'emisor', 'value' => isset($search['emisor']) ? $search['emisor'] : '', 'check' => 'integer', 'placeholder' => 'RUT sin dv']), $f->input(['type' => 'date', 'name' => 'fecha', 'value' => isset($search['fecha']) ? $search['fecha'] : '', 'check' => 'date']), $f->input(['name' => 'total', 'value' => isset($search['total']) ? $search['total'] : '', 'check' => 'integer']), $f->input(['name' => 'intercambio', 'value' => isset($search['intercambio']) ? $search['intercambio'] : '', 'check' => 'integer']), $f->input(['type' => 'select', 'name' => 'usuario', 'options' => ['' => 'Todos'] + $usuarios, 'value' => isset($search['usuario']) ? $search['usuario'] : '']), '<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>']); array_unshift($documentos, ['Documento', 'Folio', 'Emisor', 'Fecha', 'Total', 'Intercambio', 'Usuario', 'Acciones']); // renderizar el mantenedor $maintainer = new \sowerphp\app\View_Helper_Maintainer(['link' => $_base . '/dte/dte_recibidos', 'linkEnd' => $searchUrl]); $maintainer->setId('dte_recibidos_' . $Emisor->rut); $maintainer->setColsWidth([null, null, null, null, null, null, null, 100]); echo $maintainer->listar($documentos, $paginas, $pagina, false);
<h1>Generar PDF a partir de XML EnvioDTE</h1> <?php $f = new \sowerphp\general\View_Helper_Form(); echo $f->begin(['onsubmit' => 'Form.check()']); echo $f->input(['type' => 'file', 'name' => 'xml', 'label' => 'XML EnvioDTE', 'help' => 'Archivo XML de EnvioDTE', 'check' => 'notempty', 'attr' => 'accept=".xml"']); echo $f->input(['type' => 'file', 'name' => 'logo', 'label' => 'Logo PNG', 'help' => 'Logo del emisor en formato PNG', 'attr' => 'accept=".png"']); echo $f->input(['type' => 'checkbox', 'name' => 'cedible', 'label' => '¿Cedible?', 'help' => 'Si se selecciona, se generará adicionalmente versión del documento con leyenda: CEDIBLE']); echo $f->input(['type' => 'radios', 'name' => 'papelContinuo', 'label' => 'Tipo papel', 'options' => [0 => 'Hoja carta', 74 => 'Papel contínuo 74mm'], 'checked' => isset($_POST['papelContinuo']) ? $_POST['papelContinuo'] : 0]); echo $f->input(['name' => 'webVerificacion', 'label' => 'Web verificación', 'value' => 'www.sii.cl', 'help' => 'Web para verificación de documento. Si es boleta es obligatorio asignar la web real de verificación aquí']); echo $f->end('Generar documento en PDF');