Evaluando propuestas

Factura Electrónica Sencilla

Publicado el 11 Abril, 2021 en Programación y Tecnología

Sobre este proyecto

Abierto

Hola, necesito una pequeña aplicación para generar facturas electrónicas C (Monotributo)
Solo facturamos servicio intangibles.
Se emite una factura por mes a cada cuit (en diferentes fechas)
Debe generar un PDF con la factura.
Tenemos una pequeña tabla CSV con los CUITs y el servicio asociado y su importe.



-----------------------------------------------------------------------------------------------------------------------------
Campo      Tipo                  Descripción
-----------------------------------------------------------------------------------------------------------------------------
ID                  Entero (PK)
Cuit              String(13)        ' El CUIT del cliente a facturar (Monotributista o responsables inscriptos o exentos)
DNI              String(8)          ' El DNI del cliente a facturar (Consumidor final)
FecDesde    dd/mm/yyyy  'Fecha de comienzo del período facturado
FecHasta    dd/mm/yyyy    'Fecha final del período facturado
Item1          String(*)          'Descripción del renglon1 (Longitud máxima según especificación AFIP)
Importe      Currency          'en formato 999999.99
Nota            String(100)    'Para uso interno de la aplicación.
                                                Este campo se usa para hacer búsquedas y seleccionar el registro de la tabla

Si existe el cuit el dni es 0.

La aplicación se ejecuta desde el escritorio bajo Windows 7 x64 o Windows 10 x64
Al iniciar la aplicación, esta lee TODA la tabla (unos 300 registros) en memoria (Un promedio de 200 bytes por registros serían unos 60 kb en total toada la tabla).
El usuario debe poder ingresar en un cuadro de texto una cadena a buscar en el campo "Nota" y recuperar un único registro de la tabla.
Luego se rellenan todos los campos y de la factura y se despliegan en pantalla.



La aplicación debe decidir si recupera los datos desde el cuit o el dni dependiendo cual de los dos esté disponible.
El CUIT siempre tiene prioridad.
Si hay cualquier problema, debe inhibirse la generación de la factura.



No es necesario corregir datos en pantalla; solo informar cual es el problema (CUIT no valido, Persona no encontrada por dni, cuit valido pero el cliente ya no es responsable inscripto ni monotributista)
en esta instancia, la factura debe estar lista para emitirse y se habilita por tanto el botón [emitir fc].

Al presionar el botón [Emitir fc] se debe obtener el cae y emitir la factura.
Si hay problemas en esta etapa, se debe notificar el error.
Si se emitió la factura se debe poder descargar en formato el PDF.










On_Init() {
  Dim Tabla as ....
  Dim TuplaActiva as int = 0

  DesplegarFormLimpio()
  DeshabilitarBotonFacturar()
  CargarTabla()
}

On_txtBuscador_Change() {
  LimpiarListado()
  cmbFechaFactura.value = Hoy()
  CargarListado(txtBuscador_Text.Text()
  DesplegarListado()
}

On_lstListado_click() {
  TuplaActiva = lstListado......()
  ProcesarPrefactura()
}

On_cmbFechaFactura_Change() {
  If TuplaActiva <> 0 Then
      ProcesarPrefactura()
  EndIf
}

ProcesarPrefactura() {
  MostrarTupla(TuplaActiva)
  txtMsgAccion.text = "Recuperando datos desde AFIP..."
  TxtMsgAccion.text = RecuperaDatosDesdeAfip(Tabla.CuitCliente, Otros_Campos)
  If txtMsgAccion.text = "" Then
      'Todo Ok
      ArmarFactura();
      HabilitarBotonFacturar()
  Else
      'Hubo algún problema. El mesaje descriptivo ya se está mostrando.
  EndIf
}

btnFacturar_click() { 
  DeshabilitarBotonFacturar()
  txtMsgAccion.text = "Emitiendo Factura..

." 
  'Emitir la factura electronica
  GenerarPDF()
  GuardarPDF()
  LimpairFormulario()
  TuplaActiva = 0
}






Muchas gracias

Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo una idea
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Plataformas requeridas Windows

Plazo de Entrega: No definido

Habilidades necesarias