Extraer datos de facturas en pdf con python - Automatizaciones con python #4

Поділитися
Вставка
  • Опубліковано 30 лис 2024

КОМЕНТАРІ • 85

  • @tonidev_
    @tonidev_  6 місяців тому +9

    A partir de ahora me podéis apoyar y acceder al código de mis proyectos a través de mi patreon www.patreon.com/toni_dev
    Gracias por el apoyo 💪

  • @Kevin_Rios
    @Kevin_Rios 6 місяців тому +2

    Toni, muchas gracias, me ha servido demasiado, ahora sé qué librerías específicas estudiar y conocer bien su funcionamiento.

  • @shinewaine2344
    @shinewaine2344 6 місяців тому +11

    Gracias por la implementación, me ha gustado ver como adquieres los datos y los procesas, sin embargo este tipo de scripts tienen el problema de que no todas las facturas tienen un mismo formato, por lo que para procesarlo todo, debería de hacerse una personalización de extracción para cada proveedor, ya que la mayoría no comparten la misma estructura en sus facturas, no obstante, tienes un nuevo suscriptor, felicidades por tus aportes.

    • @tonidev_
      @tonidev_  6 місяців тому +3

      Así es. Habría que desarrollar una función de extracción de datos para cada proveedor. Además habría que añadir una buena gestión de errores por si en el futuro cambia algo en el formato de la factura.

    • @emerssonvil
      @emerssonvil 6 місяців тому +1

      Y si adicionamos una IA que pueda leer la imagen y buscar los caracteres básicos como $, fecha, nombre de remitente factura y aficionaría una segmentación por servicios y productos (generales)

    •  6 місяців тому

      Hay un proyecto en GitHub que está un poco parado pero funciona perfectamente a base de plantillas. Invoice2data, a mi me funciona bien y tiene utilidad con otro tipo de documentos a demás de con facturas. Creo que proyecto hace exactamente lo que comentas 👌

    • @shinewaine2344
      @shinewaine2344 6 місяців тому

      @@emerssonvil Supongo que si quieres capturar una serie de campos comunes a todas las facturas como una fecha, numero de factura, nombres a cargo y al cargo y un total quizá hasta sin IA se podría, pero si lo que necesitas es un detalle, la cosa se complica... creo.

    • @KevinAQM
      @KevinAQM 6 місяців тому

      Exacto. La idea es esa. Cada factura es diferente, pero la idea es la misma. Gracias, bro.

  • @christiangonzalez6493
    @christiangonzalez6493 6 місяців тому +6

    En México, las empresas o personas al emitir una factura tienen que generar dos archivos el pdf y el XML el cual ya contiene la información necesaria y de ahí se puede extraer la información. Por que no todos los pdf son iguales y considero que puede ser engorroso. Felicidades por el video aporta algo útil en la comunidad de desarrolladores.

    • @miguelrodriguez3441
      @miguelrodriguez3441 6 місяців тому

      Y como que información seria buena almacenar en un excel?

    • @ezequiel587
      @ezequiel587 5 місяців тому +3

      coincido se aprende programacion pero en la practica es complicado... cada pdf es distinto. habria que armar un script para cada empresa que le hace una factura a la nuestra. encima si esa empresa cambia su formato el script fallaria. el XML es muy buena idea

    • @Other-15
      @Other-15 4 місяці тому +1

      @@ezequiel587 de hecho yo desarrolle un pequeño programa en Python para extraer la información de las facturas en formato XML y trasladarlos a un archivo Excel y es más sencillo trabajar con los XML.

    • @raulm.4983
      @raulm.4983 3 місяці тому

      ​@miguelrodriguez3441 Hola, a tu pregunta la respuesta es ninguna info. Lo mejor que puedes haces es guardarla en una base de datos. En excel cualquiera puede modificar la info.

  • @neptusoneptuso8389
    @neptusoneptuso8389 5 місяців тому

    Formidable ejemplo y la explicación.

  • @erramuspe1
    @erramuspe1 6 місяців тому

    Excelente video toni, tocas las necesidades de la gente, del dia a dia.

  • @pabloblogna4453
    @pabloblogna4453 6 місяців тому +2

    Sumaria mucho que compartas los repositorios de tus clases. Saludos y gracias.

  • @deeper_soundfy5528
    @deeper_soundfy5528 6 місяців тому

    Aún no vi el video. Lo encontré de casualidad. Es curioso, ya que en los próximos días tengo pensado hacer un proyecto, a fin de optimizar unos procesos en los que trabajaré , y poder extraer ciertas características de un PDF y demás. Similar a lo que dice el título. Gracias por compartir tu conocimiento.

  • @edyred
    @edyred 6 місяців тому +4

    Hola podrias colocar un link con los archivos usados en este video como la factura y el codigo para poder practicar mejor, gracias, esta muy bueno estos tipos de videos

  • @ncpeaksean4278
    @ncpeaksean4278 6 місяців тому

    Messirveee esta data. Gracias maquina, monstruo, genio de la vida!

  • @Henry_Nunez
    @Henry_Nunez 6 місяців тому +10

    El proyecto es interesante y me gusta por eso me suscribí a tu canal. Solo te pido que aumentes el zoom porque de lo contrario voy a quedar ciego.

    • @Fedoteh1991
      @Fedoteh1991 6 місяців тому

      ¿? No lo veas en celular y listo hombre... se ve perfecto!

    • @neptusoneptuso8389
      @neptusoneptuso8389 5 місяців тому

      Si lo estás viendo desde un móvil 📱 puedes hacer zoom en el vídeo como a una imagen, espero te sirva

  • @santiagogaleano752
    @santiagogaleano752 4 місяці тому

    muchas gracias por tu video, tenes alguna herramienta para generar expresiones regulares??

  • @TecnoMenteIA
    @TecnoMenteIA 6 місяців тому +1

    Enhorabuena por este script practico en el día a día para nuestro trabajo. Creo que citas que el código está en Github. No tenemos el link. Gracias.

  • @Conta-Data
    @Conta-Data 6 місяців тому

    Que buen video toni, no tenes un curso especialmente para extraccion de datos, en el trabajo del dia a dia siempe estoy combatiendo con archivos pdf, que son los mas compliacado extraer, por el momento utilizo lenguaje M de power query, es mas didactico ya que puedo ver como la info se va extrayendo, sin perdidas de algunos datos. Pero no es escalable cuando son muchos pdfs.

  • @douglasdavidmisascamacho3431
    @douglasdavidmisascamacho3431 6 місяців тому

    Saludos Tony excelente contenido gracias. Pregunta para todos por acá puedo ¿ aplicar a un trabajo de data entry remoto con este tipo de proyectos o similares me interesa aprender lo necesario para ello ? Gracias de antemano Tony .

  • @JORDAN7514
    @JORDAN7514 6 місяців тому +1

    Hola Toni, ya extrañaba tus videos. Saludos :D

  • @cartulinito
    @cartulinito 6 місяців тому

    Justo tengo un proyecto de esto, veremos el video :D

  • @maximilianocaro2113
    @maximilianocaro2113 6 місяців тому

    Hola buenas muy buen contenido, te hago una consulta? Esté rol lo cumple un analista de datos, un data science, o un data engineer?

  • @Erosgenuino
    @Erosgenuino 6 місяців тому

    Hola Toni, ¿como harias en Python un escaner de codigos de barras/qr para extraer info de articulos con una webcam?,

  • @bobbyaxelrod7983
    @bobbyaxelrod7983 6 місяців тому

    ¿Podrías reducir el tamaño de la fuente? Pienso que con arial 0.1 estaría genial.

  • @saxegothaea_conspicua
    @saxegothaea_conspicua 3 місяці тому

    Excelente video!!

  • @juliannevardomarinmarin8561
    @juliannevardomarinmarin8561 6 місяців тому +3

    pero tienen que ser PDF iguales ? ya que el código revisa los mismos campos siempre ?

    • @ProgramandoSoftware
      @ProgramandoSoftware 6 місяців тому

      Para pdfs distintos creo que habrá que tocar de nuevo el codigo, y bueno pensandolo mejor tiene sentido buscar las coincidencias de lo que queremos. Imagino que las limitantes de esta automatización sería la forma en la que está estructura los datos.

  • @iteamgames1791
    @iteamgames1791 4 місяці тому

    Gracias Tony, con que interfaz podria cargar ese proceso de abrir las facturas en pdf y guardarlo en excel

    • @tonidev_
      @tonidev_  4 місяці тому

      streamlit por ejemplo

  • @javardi86
    @javardi86 9 днів тому

    Hola Toni. Existe alguna forma de hacer el mismo procedimiento considerando que el PDF tiene páginas como imagen

    • @tonidev_
      @tonidev_  9 днів тому +1

      para ese caso necesitarias algo con reconocimiento de texto con OCR, puedes probar con pytesseract

  • @pabloblogna4453
    @pabloblogna4453 6 місяців тому

    Excelente...Felicitaciones

  • @NIKZERO23
    @NIKZERO23 6 місяців тому

    Esto tipo de cosas me gusta

  • @emerssonvil
    @emerssonvil 6 місяців тому

    Y si adicionamos una IA que pueda leer la imagen y buscar los caracteres básicos como $, fecha, nombre de remitente factura y aficionaría una segmentación por servicios y productos (generales)

  • @JesusGutierrezGuerra
    @JesusGutierrezGuerra 6 місяців тому

    caso hipotetico: hay varias facturas de venta de diferentes clientes en el mismo pdf, como se podria generar una solo factura por cliente que contega todos los item de las facturar individuales.

  • @GuillermoHerrera-nf2xe
    @GuillermoHerrera-nf2xe 4 місяці тому

    Apenas hoy empecé a ver cosas de Python, vengo de C# y Javascript, tengo una consulta.
    ¿Qué ocurriría si el archivo que nos envían, la factura en este caso, tiene una contraseña de seguridad?

    • @GuillermoHerrera-nf2xe
      @GuillermoHerrera-nf2xe 4 місяці тому

      ¿Hay algún metodo para asignar esa contraseña o simplemente leería los metadatos, la información y demás?

  • @CristianAguilarnavarro
    @CristianAguilarnavarro 6 місяців тому

    Gracias

  • @jjav1978
    @jjav1978 6 місяців тому

    Como guardarías cada item?

  • @miguelmaldonado3926
    @miguelmaldonado3926 6 місяців тому

    si tenes 8 mil facturas y tenes q procesarlas a todas. 1. Como resolves el problema cuando el tiempo de procesamiento es de mas de 10 min? 2. Cuantas y cuales estrategias podes usar para resolver tiempo de procesamento mayor a 10 min?

    • @tonidev_
      @tonidev_  6 місяців тому +1

      que problema hay con que tarde 10 min ?

  • @danieldiaz2093
    @danieldiaz2093 Місяць тому

    Esto esta bueno si no tenemos acceso a la base de datos del sistema, osea, si solo obtenemos los pdf, porque si tenemos acceso a la base del sistema como que no le encuentro sentido...

  • @luisgonzalez8877
    @luisgonzalez8877 6 місяців тому +1

    Ese script debe ser ejecutado manualmente, que alternativa hay para que se ejecute cierta hora del día o ciertos días de la semana? Sirve el programador de tareas de windows?

  • @gabriel-mv6gx
    @gabriel-mv6gx 3 місяці тому

    Se pueden preguntar dudas? Estoy intentandolo con unos documentos de la agencia tributaria y estoy atascado

  • @iestefania3
    @iestefania3 2 місяці тому

    Trate de subir los pdf en visual pero me dice que están dañados 😭😭 y no logro entender, le instale correctamente todo como va diciendo en el video

    • @GianmarcoContreras
      @GianmarcoContreras 23 дні тому

      No basta con copias y pegar el código, debes saber programar y corregir los errores que te vayan saliendo en el proceso 🙂

    • @GianmarcoContreras
      @GianmarcoContreras 23 дні тому

      No basta con copiar y pegar el código debes saber programar para salir soluciones los errores que te vayan saliendo en el proceso. 🙂

  • @xmagcx1
    @xmagcx1 6 місяців тому +12

    las hojas de cálculo no entran en la categoría de bases de datos pequeña acotación. Excelente el video

    • @marcelodf12
      @marcelodf12 6 місяців тому +23

      Pequeña acotación: Un excel si que puede considerarse una base de datos. Quizás estas confundiendo una "base de datos' con "base de datos relacional". Pero existen varios tipos de BBDD por ejemplo relacional, key-value, en memoria, de grafos, etc. Hasta un archivo plano podrías usar como base de datos, solo que cada uno te da prestaciones diferentes 😉

    • @j7D4h
      @j7D4h 6 місяців тому +13

      Cuando te las das de sabiando sin saber:

    • @wertyxq3468
      @wertyxq3468 6 місяців тому

      Si pues, que bobo. Cuando te enseñan bases de datos es literal el primer ejemplo que te enseñan

    • @akasha6287
      @akasha6287 6 місяців тому +4

      Estás loco claro que son un base de datos

    • @MenteAvizpada
      @MenteAvizpada 6 місяців тому +5

      Se puede construir una app usando como base de datos google sheets

  • @muremure
    @muremure 6 місяців тому

    Este video esta copiado de algun lugar no recuerdo donde pero videos de hace años, español e ingles.
    El pdf muy basico, ya que existen infinidad de tipos de formatos de facturas; incluso la mayoria de pdf no son editados desde un software si no que son imagenes, lo cual si no mal recuerdo aun asi funciona o minimo tiene sus limitaciones. Y ojo no hay necesidad de IA que por aquí ya he leído a algunos genios, que lo quieren solucionar asi.
    Ya comentaron tambien que EXCEL no es una BD.
    Mucho que mejorar en el tema de querer compartir conocimiento.
    Video cortito introductorio pero que a mas de uno ha de servir.
    Sigue así. Saludos.

  • @srminnagui
    @srminnagui 5 місяців тому

    Se agradeceria por mi parte que el codigo sea mas grande, la verdad es que no veo un mojon

  • @ggmtddbo
    @ggmtddbo 5 місяців тому +1

    Este video esta copiado y encima cobra! estos españolitos,.....

  • @geraldmedina7215
    @geraldmedina7215 Місяць тому

    Excelente video pero solo funciona con un solo tipo de PDF, es decir con un solo formato (con el que estas trabajando actualmente) porque si corremos el codigo en una factura diferente con una extructura diferente, no funcionará.

    • @tonidev_
      @tonidev_  Місяць тому

      Correcto. Habría que controlar los diferentes formatos y desarrollar regex diferentes para cada uno

  • @miguelr.9652
    @miguelr.9652 4 місяці тому

    ES UNA LASTIMA QUE GENTE COMO VOS, COBREN POR SU CONOCIMIENTO, SI VAN A DAR TUTOS ES PARA ENSEÑAR A LA GENTE, SI QUIERO PAGAR ALGO MEJOR UN CURSO

  • @unobuscando
    @unobuscando 6 місяців тому +2

    Hijito, cuando te oigo decir "lopear" siendo deseos de soltarte algún improperio, cosa que no voy a hacer porque no es elegante, pero sí te digo que ya podías aprender a hablar correctamente el castellano antes de querer convertirte en profesor de lo que sea.

    • @shinewaine2344
      @shinewaine2344 6 місяців тому +1

      jejeje, entiendo lo que dices, no obstante, el término correcto no es "lopear" es "loopear", es decir, hacer "loops", "ciclos", "iteraciones", etc... La verdad es que quizá no te guste, pero es un "término" usado y para tu sorpresa... por más de un profesional. Igualmente... ¡SI!, coincido contigo en que queda mucho mejor un concepto acorde a la lengua en la que se habla en el vídeo que un "anglicanismoespañolizado". Un saludo.

    • @muremure
      @muremure 6 місяців тому

      ​@@shinewaine2344Loopear, que clase de casteingles es eso😅.
      Loop = bucle, ciclo.
      Entonces ciclar o ciclo es el término correcto.
      Saludos.

  • @Negrisho
    @Negrisho 6 місяців тому

    Gracias