odoo-addon-base-import-pdf-by-template


Nameodoo-addon-base-import-pdf-by-template JSON
Version 15.0.1.0.1 PyPI version JSON
download
home_pagehttps://github.com/OCA/edi
SummaryBase Import Pdf by Template
upload_time2024-09-09 06:35:10
maintainerNone
docs_urlNone
authorTecnativa, Odoo Community Association (OCA)
requires_python>=3.8
licenseAGPL-3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===========================
Base Import Pdf by Template
===========================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:294bff05c4a40e6cb59a3a6a8883ab3c286f97e72bc054d98385799e4e8dcefd
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github
    :target: https://github.com/OCA/edi/tree/15.0/base_import_pdf_by_template
    :alt: OCA/edi
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/edi-15-0/edi-15-0-base_import_pdf_by_template
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=15.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows you to import PDF files and generate records based on the data
contained in those PDF files.
It also allows you to define a pattern that indicates how to recognize and extract
the data from the PDF to generate a record.

**Table of contents**

.. contents::
   :local:

Configuration
=============

To configure a PDF document template for import, the first thing to do is to have the
document defined with a specific structure.

#. Go to Settings > Technical > Base Import PDF Simple > Templates
#. Create a new template by entering a characteristic name and the model on which
   the record will be generated.

  Fields to consider completing on template:

    - Main Model: model on which the record will be generated. Example: purchase.order
    - Child field: One2many field that will create records from selected template.
      Example: Order Lines (purchase.order)
    - Auto detect pattern: Define a characteristic pattern of the document so that
      it recognizes that it corresponds to the template we are creating. Need to use
      regular expression. Example: (?<=ESA79935607)[\S\s]*
    - Header Items: Complete this field if the template has a header table to extract
      information lines. Example: Reference,Quantity,Price
    - Company: Set the company that will use the template. If it is empty, template
      will apply for all companies set on the environment.

#. Add new lines.

  - Related model: When adding new line, the section where to locate the data; "header"
    which, as its name indicates, refers to the header of the document and "lines" refers
    to the structure of lines or table of the document.
  - Field: Map the field to be completed. Example: product
  - Pattern: Optional field to complete. Define pattern of the document so that it
    recognizes the place to get the field selected on PDF template. Need to use regular
    expression. Example: ([0-9]{7}) [0-7]{1}
  - Value type:
      - Fixed: Select this value, if the field mapped will always have an specific
        value and not extract the information from template. In this case Pattern field
        must be empty.
      - Variable: Select variable to get the information from template. In this case,
        Pattern field must be completed.
  - For Value type "Variable" will appear extra fields to complete:
  - Search value: Indicates the field by which the value obtained in the PDF will
    be searched on the system.
  - Default value: If the search result is empty for the search value option, you
    can set default value to create a record and not getting error message.
  - Log distint value?: This option is useful when getting prices in order to
    compare prices inside system and prices obtained from PDF. This will create lines
    with prices obtained from the system but create log on chatter to see the
    differences obtained from PDF.

Check demo data to further information.

Usage
=====

This module allows to upload PDF files in any Odoo model. It processes each of the files
and converts it into a new record.
Technically, the pdf is transformed into text and that text is processed to create the
record.
The module incorporates an option in Favorites Import PDF and Template configuration in
order to recognized any document structure.

Known issues / Roadmap
======================

- Add operator in template lines (= or ilike)
- Add support for selection fields as default value.
- Simplify auto-detection (defining a text only to search the system should search the
  corresponding regular expression).
- Allow compatibility with registration process created from email alias (for purchase
  order for example).
- Remove error if some file is not auto-detected template, options: boolean (default
  option according to system parameter) to omit error for not found files or change
  process to 2 steps, auto-detect and show lines (each one with respect to a file) with
  template applied (similar to dms_auto_classification).
- Create test_base_import_pdf_simple module with sale, purchase and account dependencies
  to leave templates created in runboat and tests more useful for testers.
- Display a more readable error if there is an error in Preview process, example: wrong
  pattern. Message: "Please check template defined, some items are not correctly set".
- Add a progress bar (widget=“gauge”) in the import wizard process, useful if we import
  for example sales orders with 20 lines and thus know the progress.

Compatibility with csv, xls, etc:

- Separate much of the logic to new module base_import_simple that would contain the logic
  of templates, type of files (csv, excel, etc) in the templates and wizard and this module
  would depend on the other adding only what relates to PDF.
- The base module should take into account for each template whether each line is a new
  record or not, and start line (in case you want to omit any), only page 1 would be imported.
- The preview smart-btton would serve exactly the same purpose.
- In the case of csv and Excel  that each record is a line, the document will NOT be attached
  to the record.
- If you indicate  that each record is a line the column will be the key, otherwise you must
  specify to which  line each line of the template refers.
- In the case of csv it will try to auto-detect the lines and columns (no need to complicate
  delimiters configuration).
- The menu "Import PDF" of the favorite menu would become "Import file", and the allowed file
  extensions would be those obtained from a method (it would be extended by other modules that
  add other formats such as PDF).
- Add queue_job_base_import_simple module to process everything by queues (example: Excel
  with hundreds of lines, each one a record).

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/edi/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/edi/issues/new?body=module:%20base_import_pdf_by_template%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

  * Víctor Martínez
  * Pedro M. Baeza

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px
    :target: https://github.com/victoralmau
    :alt: victoralmau

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-victoralmau| 

This module is part of the `OCA/edi <https://github.com/OCA/edi/tree/15.0/base_import_pdf_by_template>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/OCA/edi",
    "name": "odoo-addon-base-import-pdf-by-template",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Tecnativa, Odoo Community Association (OCA)",
    "author_email": "support@odoo-community.org",
    "download_url": null,
    "platform": null,
    "description": "===========================\nBase Import Pdf by Template\n===========================\n\n.. \n   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n   !! This file is generated by oca-gen-addon-readme !!\n   !! changes will be overwritten.                   !!\n   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n   !! source digest: sha256:294bff05c4a40e6cb59a3a6a8883ab3c286f97e72bc054d98385799e4e8dcefd\n   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png\n    :target: https://odoo-community.org/page/development-status\n    :alt: Beta\n.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png\n    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html\n    :alt: License: AGPL-3\n.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github\n    :target: https://github.com/OCA/edi/tree/15.0/base_import_pdf_by_template\n    :alt: OCA/edi\n.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png\n    :target: https://translation.odoo-community.org/projects/edi-15-0/edi-15-0-base_import_pdf_by_template\n    :alt: Translate me on Weblate\n.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png\n    :target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=15.0\n    :alt: Try me on Runboat\n\n|badge1| |badge2| |badge3| |badge4| |badge5|\n\nThis module allows you to import PDF files and generate records based on the data\ncontained in those PDF files.\nIt also allows you to define a pattern that indicates how to recognize and extract\nthe data from the PDF to generate a record.\n\n**Table of contents**\n\n.. contents::\n   :local:\n\nConfiguration\n=============\n\nTo configure a PDF document template for import, the first thing to do is to have the\ndocument defined with a specific structure.\n\n#. Go to Settings > Technical > Base Import PDF Simple > Templates\n#. Create a new template by entering a characteristic name and the model on which\n   the record will be generated.\n\n  Fields to consider completing on template:\n\n    - Main Model: model on which the record will be generated. Example: purchase.order\n    - Child field: One2many field that will create records from selected template.\n      Example: Order Lines (purchase.order)\n    - Auto detect pattern: Define a characteristic pattern of the document so that\n      it recognizes that it corresponds to the template we are creating. Need to use\n      regular expression. Example: (?<=ESA79935607)[\\S\\s]*\n    - Header Items: Complete this field if the template has a header table to extract\n      information lines. Example: Reference,Quantity,Price\n    - Company: Set the company that will use the template. If it is empty, template\n      will apply for all companies set on the environment.\n\n#. Add new lines.\n\n  - Related model: When adding new line, the section where to locate the data; \"header\"\n    which, as its name indicates, refers to the header of the document and \"lines\" refers\n    to the structure of lines or table of the document.\n  - Field: Map the field to be completed. Example: product\n  - Pattern: Optional field to complete. Define pattern of the document so that it\n    recognizes the place to get the field selected on PDF template. Need to use regular\n    expression. Example: ([0-9]{7}) [0-7]{1}\n  - Value type:\n      - Fixed: Select this value, if the field mapped will always have an specific\n        value and not extract the information from template. In this case Pattern field\n        must be empty.\n      - Variable: Select variable to get the information from template. In this case,\n        Pattern field must be completed.\n  - For Value type \"Variable\" will appear extra fields to complete:\n  - Search value: Indicates the field by which the value obtained in the PDF will\n    be searched on the system.\n  - Default value: If the search result is empty for the search value option, you\n    can set default value to create a record and not getting error message.\n  - Log distint value?: This option is useful when getting prices in order to\n    compare prices inside system and prices obtained from PDF. This will create lines\n    with prices obtained from the system but create log on chatter to see the\n    differences obtained from PDF.\n\nCheck demo data to further information.\n\nUsage\n=====\n\nThis module allows to upload PDF files in any Odoo model. It processes each of the files\nand converts it into a new record.\nTechnically, the pdf is transformed into text and that text is processed to create the\nrecord.\nThe module incorporates an option in Favorites Import PDF and Template configuration in\norder to recognized any document structure.\n\nKnown issues / Roadmap\n======================\n\n- Add operator in template lines (= or ilike)\n- Add support for selection fields as default value.\n- Simplify auto-detection (defining a text only to search the system should search the\n  corresponding regular expression).\n- Allow compatibility with registration process created from email alias (for purchase\n  order for example).\n- Remove error if some file is not auto-detected template, options: boolean (default\n  option according to system parameter) to omit error for not found files or change\n  process to 2 steps, auto-detect and show lines (each one with respect to a file) with\n  template applied (similar to dms_auto_classification).\n- Create test_base_import_pdf_simple module with sale, purchase and account dependencies\n  to leave templates created in runboat and tests more useful for testers.\n- Display a more readable error if there is an error in Preview process, example: wrong\n  pattern. Message: \"Please check template defined, some items are not correctly set\".\n- Add a progress bar (widget=\u201cgauge\u201d) in the import wizard process, useful if we import\n  for example sales orders with 20 lines and thus know the progress.\n\nCompatibility with csv, xls, etc:\n\n- Separate much of the logic to new module base_import_simple that would contain the logic\n  of templates, type of files (csv, excel, etc) in the templates and wizard and this module\n  would depend on the other adding only what relates to PDF.\n- The base module should take into account for each template whether each line is a new\n  record or not, and start line (in case you want to omit any), only page 1 would be imported.\n- The preview smart-btton would serve exactly the same purpose.\n- In the case of csv and Excel  that each record is a line, the document will NOT be attached\n  to the record.\n- If you indicate  that each record is a line the column will be the key, otherwise you must\n  specify to which  line each line of the template refers.\n- In the case of csv it will try to auto-detect the lines and columns (no need to complicate\n  delimiters configuration).\n- The menu \"Import PDF\" of the favorite menu would become \"Import file\", and the allowed file\n  extensions would be those obtained from a method (it would be extended by other modules that\n  add other formats such as PDF).\n- Add queue_job_base_import_simple module to process everything by queues (example: Excel\n  with hundreds of lines, each one a record).\n\nBug Tracker\n===========\n\nBugs are tracked on `GitHub Issues <https://github.com/OCA/edi/issues>`_.\nIn case of trouble, please check there if your issue has already been reported.\nIf you spotted it first, help us to smash it by providing a detailed and welcomed\n`feedback <https://github.com/OCA/edi/issues/new?body=module:%20base_import_pdf_by_template%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.\n\nDo not contact contributors directly about support or help with technical issues.\n\nCredits\n=======\n\nAuthors\n~~~~~~~\n\n* Tecnativa\n\nContributors\n~~~~~~~~~~~~\n\n* `Tecnativa <https://www.tecnativa.com>`_:\n\n  * V\u00edctor Mart\u00ednez\n  * Pedro M. Baeza\n\nMaintainers\n~~~~~~~~~~~\n\nThis module is maintained by the OCA.\n\n.. image:: https://odoo-community.org/logo.png\n   :alt: Odoo Community Association\n   :target: https://odoo-community.org\n\nOCA, or the Odoo Community Association, is a nonprofit organization whose\nmission is to support the collaborative development of Odoo features and\npromote its widespread use.\n\n.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px\n    :target: https://github.com/victoralmau\n    :alt: victoralmau\n\nCurrent `maintainer <https://odoo-community.org/page/maintainer-role>`__:\n\n|maintainer-victoralmau| \n\nThis module is part of the `OCA/edi <https://github.com/OCA/edi/tree/15.0/base_import_pdf_by_template>`_ project on GitHub.\n\nYou are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.\n",
    "bugtrack_url": null,
    "license": "AGPL-3",
    "summary": "Base Import Pdf by Template",
    "version": "15.0.1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/OCA/edi"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ae56f5cfe2963cbb750edd2f3cbcab35f17809eceddeaa8b239428941746a0c8",
                "md5": "7c49ea65c13e6746c0c96bfefa93deca",
                "sha256": "f3e27e2e74be124bbfbd0f16ec8ad4605d84e5e96faa1d8fb3f764bfd345e454"
            },
            "downloads": -1,
            "filename": "odoo_addon_base_import_pdf_by_template-15.0.1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7c49ea65c13e6746c0c96bfefa93deca",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 65634,
            "upload_time": "2024-09-09T06:35:10",
            "upload_time_iso_8601": "2024-09-09T06:35:10.704230Z",
            "url": "https://files.pythonhosted.org/packages/ae/56/f5cfe2963cbb750edd2f3cbcab35f17809eceddeaa8b239428941746a0c8/odoo_addon_base_import_pdf_by_template-15.0.1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-09 06:35:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OCA",
    "github_project": "edi",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "odoo-addon-base-import-pdf-by-template"
}
        
Elapsed time: 0.36212s