Exemple #1
0
        // Crea una consulta de facturas emitidas
        private static ARInvoicesQuery CrearConsultaFacturasEmitidas()
        {
            // Titular que realizó el envío de las facturas a consultar
            Party titular = new Party()
            {
                TaxIdentificationNumber =
                    "B12959755",
                PartyName = "IRENE SOLUTIONS SL"
            };

            // Creamos una consulta de facturas emitidas
            ARInvoicesQuery consultaFacturasEmitidas = new ARInvoicesQuery
            {
                Titular = titular
            };

            // La consulta de facturas emitidas contine un objeto factura emitida
            // que utilizaremos para pasarle los datos de filtro.
            ARInvoice facturaConDatosFiltro = consultaFacturasEmitidas.ARInvoice;

            // Filtramos por fecha de emisión.
            facturaConDatosFiltro.IssueDate = new DateTime(2017, 1, 15);

            return(consultaFacturasEmitidas);
        }
Exemple #2
0
        /// <summary>
        /// Crea un lote de facturas emitidas para su envío al SII
        /// de la aeat.
        /// </summary>
        /// <returns></returns>
        private static ARInvoicesQuery CreaLoteDeEmitidasEnviadas()
        {
            // Informamos los datos necesarios para realizar la petición
            ARInvoicesQuery LoteFactEmitEnviadas = new ARInvoicesQuery();

            // Creamos el titular del envío
            Party titular = new Party()
            {
                TaxIdentificationNumber = "V57525560",
                PartyName = "IRENE SOLUTIONS SL"
            };

            LoteFactEmitEnviadas.Titular = titular;

            // Necesitamos indicar una fecha de factura, para que se pueda calcular el ejercicio y periodo
            // que son necesarios y obligatorios para realizar esta peticiones.
            ARInvoice facturaEnviadaPrimera = new ARInvoice();

            facturaEnviadaPrimera.IssueDate = new DateTime(2017, 1, 15); // Fecha factura

            //
            // Estos campos son opcionales, de manera que los informaremos si necesitamos buscar una factura
            // en concreto o aquellas cuya fecha de expedición coincida con la indicada en la petición
            //
            //facturaEnviadaPrimera.SellerParty = new Party() // El cliente
            //{
            //    TaxIdentificationNumber = "B12756474"
            //};
            //facturaEnviadaPrimera.InvoiceNumber = "E00027"; // El número de factura

            LoteFactEmitEnviadas.ARInvoice = facturaEnviadaPrimera;


            return(LoteFactEmitEnviadas);
        }
Exemple #3
0
        /// <summary>
        /// Consultar facturas emitidas.
        /// </summary>
        public void ConsultarFacturasEmitidas()
        {
            // Creo la consulta de facturas emitidas
            ARInvoicesQuery consultaFacturasEmitidas = CrearConsultaFacturasEmitidas();

            // Petición de factura emitidas envíada a la AEAT mediante el SII.
            Wsd.GetFacturasEmitidas(consultaFacturasEmitidas);


            // Mostramos el xml de respuesta de la AEAT en el web browser.
            webBrw.Navigate(Settings.Current.InboxPath +
                            consultaFacturasEmitidas.GetReceivedFileName());
        }
Exemple #4
0
        /// <summary>
        /// Inicia entorno.
        /// </summary>
        private void Inizialize()
        {
            _PetFactEmitEnviadas  = new ARInvoicesQuery();
            _LoteBajaFactEmitidas = new ARInvoicesDeleteBatch();

            _Titular = new Party();

            _PetFactEmitEnviadas.Titular = _Titular;

            ResetFactura();

            //BindModelBusqueda();
        }
Exemple #5
0
        /// <summary>
        /// Ejemplo de envío de un lote de facturas emitidas
        /// </summary>
        public void EnviarConsultaFactEmit()
        {
            // Creamos un lote de factura recibidas
            ARInvoicesQuery LoteDeFacturasEmitidas =
                CreaLoteDeEmitidasEnviadas();

            // Realizamos el envío del lote a la AEAT
            Wsd.GetFacturasEmitidas(LoteDeFacturasEmitidas);

            // Muestro el xml de respuesta recibido de la AEAT en el web browser
            webBrw.Navigate(Settings.Current.InboxPath +
                            LoteDeFacturasEmitidas.GetReceivedFileName());
        }
Exemple #6
0
        /// <summary>
        /// Devuelve las facturas emitidas registradas
        /// por los clientes del titular
        /// del lote en el periodo indicado.
        /// </summary>
        /// <param name="period">Periodo en formato yyyy.MM.</param>
        /// <param name="titular">Titular de las facturas a recuperar.</param>
        /// <param name="cliente">Cliente del que recuperar las facturas.</param>
        /// <returns>Lista de facturas emitidas en el periodo.</returns>
        private static RespuestaConsultaLRFactInformadasCliente GetByPeriodFE(string period, Party titular, Party cliente)
        {
            ARInvoicesQuery batchInvoiceQuery = new ARInvoicesQuery()
            {
                Titular = titular
            };

            ARInvoice templateInvoiceQuery = new ARInvoice();

            templateInvoiceQuery.BuyerParty = cliente;

            string syear  = period.Substring(0, 4);
            string smonth = period.Substring(5, 2);

            int year  = Convert.ToInt32(syear);
            int month = Convert.ToInt32(smonth);

            DateTime date = new DateTime(year, month, 1);

            // Necesitamos indicar una fecha de factura, para que se pueda calcular el ejercicio y periodo
            // que son necesarios y obligatorios para realizar esta peticiones.
            templateInvoiceQuery.IssueDate = date;
            batchInvoiceQuery.ARInvoice    = templateInvoiceQuery;

            string response = Wsd.GetFacturasEmitidasCliente(batchInvoiceQuery);

            try
            {
                // Obtengo la respuesta de la consulta de facturas recibidas del archivo de respuesta de la AEAT.
                Envelope envelope = Envelope.FromXml(response);

                if (envelope.Body.RespuestaConsultaLRFactInformadasCliente != null)
                {
                    return(envelope.Body.RespuestaConsultaLRFactInformadasCliente);
                }

                SoapFault msgError = envelope.Body.RespuestaError;

                if (msgError != null)
                {
                    throw new Exception($"{msgError.FaultDescription}");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(null);
        }
Exemple #7
0
        /// <summary>
        /// Inicia entorno.
        /// </summary>
        private void Inizialize()
        {
            _PetFactEmitEnviadas  = new ARInvoicesQuery();
            _LoteBajaFactEmitidas = new Batch(BatchActionKeys.DR, BatchActionPrefixes.BajaLR, BatchTypes.FacturasEmitidas);

            _Titular = new Party();

            _PetFactEmitEnviadas.Titular = _Titular;

            ResetFactura();

            lbNifCert.Text  = "";
            lbNroSerie.Text = "";

            //BindModelBusqueda();
        }