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

Поделиться
HTML-код
  • Опубликовано: 25 янв 2025

Комментарии • 89

  • @tonidev_
    @tonidev_  8 месяцев назад +11

    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 💪

  • @patricioarguello4324
    @patricioarguello4324 20 дней назад

    Excelente, el tutorial. Yo llegue a hacer algo similar con Appscript de google ( pero como lenguaje: JS ), con esta librería /** convert_PDFtoTXT **/ Lo que más me costó fue encontrar la expresión regular correcta que extraiga los datos. Slds desde Paraguay.

  • @Kevin_Rios
    @Kevin_Rios 8 месяцев назад +2

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

  • @shinewaine2344
    @shinewaine2344 8 месяцев назад +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_  8 месяцев назад +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 8 месяцев назад +2

      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)

    •  8 месяцев назад

      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 8 месяцев назад

      @@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 8 месяцев назад

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

  • @christiangonzalez6493
    @christiangonzalez6493 8 месяцев назад +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 8 месяцев назад

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

    • @ezequiel587
      @ezequiel587 7 месяцев назад +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 6 месяцев назад +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 5 месяцев назад

      ​@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.

  • @pabloblogna4453
    @pabloblogna4453 8 месяцев назад +2

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

  • @deeper_soundfy5528
    @deeper_soundfy5528 8 месяцев назад

    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.

  • @Henry_Nunez
    @Henry_Nunez 8 месяцев назад +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 8 месяцев назад

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

    • @neptusoneptuso8389
      @neptusoneptuso8389 7 месяцев назад

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

  • @erramuspe1
    @erramuspe1 8 месяцев назад

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

  • @neptusoneptuso8389
    @neptusoneptuso8389 7 месяцев назад +1

    Formidable ejemplo y la explicación.

  • @ncpeaksean4278
    @ncpeaksean4278 8 месяцев назад

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

  • @edyred
    @edyred 8 месяцев назад +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

  • @JORDAN7514
    @JORDAN7514 8 месяцев назад +1

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

  • @santiagogaleano752
    @santiagogaleano752 6 месяцев назад

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

  • @TecnoMenteIA
    @TecnoMenteIA 8 месяцев назад +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.

  • @douglasdavidmisascamacho3431
    @douglasdavidmisascamacho3431 8 месяцев назад

    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 .

  • @Conta-Data
    @Conta-Data 8 месяцев назад

    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.

  • @cartulinito
    @cartulinito 8 месяцев назад

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

  • @maximilianocaro2113
    @maximilianocaro2113 8 месяцев назад

    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 8 месяцев назад

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

  • @saxegothaea_conspicua
    @saxegothaea_conspicua 4 месяца назад

    Excelente video!!

  • @juliannevardomarinmarin8561
    @juliannevardomarinmarin8561 8 месяцев назад +3

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

    • @ProgramandoSoftware
      @ProgramandoSoftware 8 месяцев назад

      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.

  • @bobbyaxelrod7983
    @bobbyaxelrod7983 8 месяцев назад

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

  • @pabloblogna4453
    @pabloblogna4453 8 месяцев назад

    Excelente...Felicitaciones

  • @javardi86
    @javardi86 2 месяца назад

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

    • @tonidev_
      @tonidev_  2 месяца назад +1

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

  • @iteamgames1791
    @iteamgames1791 6 месяцев назад

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

    • @tonidev_
      @tonidev_  6 месяцев назад

      streamlit por ejemplo

  • @jjav1978
    @jjav1978 8 месяцев назад

    Como guardarías cada item?

  • @luisgonzalez8877
    @luisgonzalez8877 8 месяцев назад +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?

    • @tonidev_
      @tonidev_  8 месяцев назад +2

      Correcto !!

    • @tomasvelilladelsol4018
      @tomasvelilladelsol4018 8 месяцев назад +1

      @@tonidev_ y como puede ponerse en produccion el script?

    • @federicodesia_7289
      @federicodesia_7289 8 месяцев назад

      @@tomasvelilladelsol4018 podes usar PythonAnywhere

  • @JesusGutierrezGuerra
    @JesusGutierrezGuerra 8 месяцев назад

    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.

  • @NIKZERO23
    @NIKZERO23 8 месяцев назад

    Esto tipo de cosas me gusta

  • @GuillermoHerrera-nf2xe
    @GuillermoHerrera-nf2xe 6 месяцев назад

    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 6 месяцев назад

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

  • @emerssonvil
    @emerssonvil 8 месяцев назад

    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)

  • @martinpavilonis7239
    @martinpavilonis7239 28 дней назад

    y si tengo 200 tipos de facturas electricas diferentes como puedo automatizar que lea y devuelva todo en un excel?

    • @tonidev_
      @tonidev_  27 дней назад

      si tienes tantos tipos distintos de facturas metería alguna IA para scrapear los datos

  • @danieldiaz2093
    @danieldiaz2093 3 месяца назад

    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...

  • @CristianAguilarnavarro
    @CristianAguilarnavarro 8 месяцев назад

    Gracias

  • @gabriel-mv6gx
    @gabriel-mv6gx 5 месяцев назад

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

  • @miguelmaldonado3926
    @miguelmaldonado3926 8 месяцев назад

    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_  8 месяцев назад +1

      que problema hay con que tarde 10 min ?

  • @xmagcx1
    @xmagcx1 8 месяцев назад +13

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

    • @marcelodf12
      @marcelodf12 8 месяцев назад +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 8 месяцев назад +13

      Cuando te las das de sabiando sin saber:

    • @wertyxq3468
      @wertyxq3468 8 месяцев назад

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

    • @akasha6287
      @akasha6287 8 месяцев назад +4

      Estás loco claro que son un base de datos

    • @MenteAvizpada
      @MenteAvizpada 8 месяцев назад +5

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

  • @muremure
    @muremure 8 месяцев назад

    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 7 месяцев назад

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

  • @ggmtddbo
    @ggmtddbo 7 месяцев назад +1

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

  • @iestefania3
    @iestefania3 4 месяца назад

    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 2 месяца назад

      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 2 месяца назад

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

  • @miguelr.9652
    @miguelr.9652 6 месяцев назад

    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

  • @geraldmedina7215
    @geraldmedina7215 3 месяца назад

    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_  3 месяца назад

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

  • @unobuscando
    @unobuscando 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад

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

  • @Negrisho
    @Negrisho 8 месяцев назад

    Gracias