使用invoice2data库导入供应商发票
项目描述
会计发票导入Invoice2data
此模块是模块account_invoice_import的扩展:它添加了对常规PDF发票的支持,即没有嵌入XML文件的PDF发票。它使用invoice2data库,该库负责提取PDF发票的文本,查找现有的发票模板并执行发票模板以从发票中提取有用的信息。
要了解此模块开发的全部故事,请阅读这篇博客文章。
安装
此模块需要Python库invoice2data,可在Github上找到,版本>= 0.2.74(2018年2月)。
要安装此库的最新版本,请运行
sudo pip install --upgrade invoice2data
如果您使用Ubuntu 16.04 LTS,可以使用在发行版中打包的pdftotext版本0.41.0
sudo apt-get install poppler-utils
如果您想使invoice2data库在PDF不包含文本(只有极少数PDF发票是图像为基础的,需要OCR)时回退到OCR,您还应该安装Imagemagick(以获取convert实用程序将PDF转换为TIFF)和Tesseract OCR
sudo apt-get install imagemagick tesseract-ocr
如果您想为invoice2data库使用自定义发票模板(除了invoice2data库提供的模板外),您应该在Odoo服务器配置文件中添加一行,例如
invoice2data_templates_dir = /opt/invoice2data_local_templates
并将您的发票模板以 YAML 格式(.yml 扩展名)存储在您上面配置的目录中。如果您在此目录中添加发票模板,无需重新启动 Odoo,它们将在下一次发票导入时自动使用。
如果您只想使用您自定义的发票模板并忽略由 invoice2data 库提供的模板,您应在 Odoo 服务器配置文件中包含以下内容:
invoice2data_templates_dir = /opt/invoice2data_local_templates
invoice2data_exclude_built_in_templates = True
法语用户还应在 法语本地化 中安装模块 l10n_fr_business_document_import。
配置
转到供应商的表单视图并使用以下参数进行配置:
是否为公司? 选择 True
供应商 选择 True
设置 税务识别号(即增值税号)(在 Odoo 合作伙伴数据库中搜索供应商时默认使用增值税号)
在 会计 选项卡中创建一个 发票导入配置。
对于您的供应商的 PDF 发票(没有嵌入 XML 文件),您必须在 invoice2data Python 库中创建一个 模板文件,格式为 YAML。这相当简单;如果您熟悉 regexp,为每个供应商完成这项工作不应超过 10 分钟。
以下是一些帮助您为您的供应商添加模板的建议
以 Free SAS 模板文件 为例。您可以在 invoice2data/test/pdfs/2015-07-02-invoice_free_fiber.pdf 下找到此供应商的示例 PDF 发票。
尝试手动运行 invoice2data 库在 Free 的样本发票上
% python -m invoice2data.main --debug invoice2data/test/pdfs/2015-07-02-invoice_free_fiber.pdf
在输出中,您将首先获得 PDF 的文本,然后是一些关于发票解析和正则表达式的调试信息,最后是一行包含解析结果的字典。
如果供应商的增值税号出现在 PDF 发票的文本中,我认为将其用作关键字是个好主意。添加两个其他关键字是一个好习惯:一个用于语言(例如,匹配发票的语言中的 发票 单词)和一个用于货币,以便仅匹配该供应商在该特定语言和货币中的发票。
字段列表应包含以下条目
“vat”(供应商的增值税号)(如果供应商的增值税号不在 PDF 文件中,添加一个“partner_name”键,或者如果供应商是法国人且已安装 l10n_fr_invoice_pdf_import 模块,则添加一个“siren”键)
“amount”(“amount”是含税的总金额)
“amount_untaxed”或“amount_tax”(两者之一,无需两者都添加)
“date”(发票日期)
“invoice_number”(发票号)
如果该信息在 PDF 文件文本中可用,则“date_due”
使用
参阅模块 account_invoice_import 的使用部分。
错误跟踪器
错误在 GitHub Issues 中跟踪。如果在出现问题时,请检查是否已报告您的问题。如果您首先发现它,请通过提供详细且受欢迎的反馈来帮助我们解决它。
致谢
贡献者
Alexis de Lattre <alexis.delattre@akretion.com>
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。
要为此模块做出贡献,请访问 https://odoo-community.org。
项目详情
odoo10_addon_account_invoice_import_invoice2data-10.0.1.0.1-py2-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f5584b4d799134a1b8557bd2f96edd330b3c6bdf0c0460edc5587d77e725f8eb |
|
MD5 | 40bcd2546218cbfd03f934fef3b80a29 |
|
BLAKE2b-256 | 6de895bf88df36e82a07a97569339313bbc842d6626925ef1500813740632838 |