使用invoice2data库导入供应商发票
项目描述
此模块是模块account_invoice_import的扩展:它增加了对常规PDF发票的支持,即没有嵌入XML文件的PDF发票。它使用invoice2data库,该库负责从PDF发票中提取文本,查找现有的发票模板并执行发票模板以从发票中提取有用信息。
要了解此模块开发背后的完整故事,请阅读这篇博客文章。
目录
安装
此模块需要Python库invoice2data,可在Github上获取,版本>= 0.2.74(2018年2月)。
要安装此库的最新版本,请运行
sudo pip3 install --upgrade invoice2data
如果您使用的是Ubuntu 16.04 LTS或更高版本,可以使用分发给版本0.41.0的pdftotext
sudo apt install poppler-utils
如果您希望当PDF不包含文本时(只有极少数PDF发票是图像型的,需要OCR),invoice2data库回退到OCR,您还应安装Imagemagick(以获取convert实用程序将PDF转换为TIFF)和Tesseract OCR
sudo apt 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。
配置
转到供应商的表单视图,并使用以下参数进行配置
是否为供应商为真
增值税已设置(在Odoo合作伙伴数据库中搜索供应商时默认使用增值税号)
在发票选项卡中,创建一个发票导入配置。
对于供应商的PDF发票,其中没有嵌入XML文件,您必须在该发票2data Python库的目录中创建一个模板文件,格式为YAML。这相当简单;如果您熟悉regexp,为每个供应商完成这项工作不应超过10分钟。
以下是一些帮助您为供应商添加模板的提示
以Free SAS模板文件为例。您可以在invoice2data/test/pdfs/2015-07-02-invoice_free_fiber.pdf下找到此供应商的示例PDF发票。
尝试在Free的样本发票上手动运行invoice2data库
% python -m invoice2data.main --debug invoice2data/test/pdfs/2015-07-02-invoice_free_fiber.pdf
在输出中,您将首先获得PDF文本,然后是解析发票和regexp的一些调试信息,最后是一行包含解析结果的字典。
如果供应商的增值税号出现在PDF发票文本中,我认为将其用作关键字是个好主意。添加另外两个关键字是一种好习惯:一个用于语言(例如,匹配发票的语言中的单词Invoice)和一个用于货币,以便只匹配该供应商在该特定语言和货币中的发票。
字段列表应包含以下条目
‘vat’与供应商的增值税号(如果供应商的增值税号不在PDF文件文本中,请添加一个‘partner_name’键,或者如果供应商是法国的并且已安装模块l10n_fr_business_document_import,请添加一个‘siren’键)
‘amount’(‘amount’是含税的总金额)
‘amount_untaxed’或‘amount_tax’(一个或另一个,无需两者都添加)
‘date’:发票日期
‘invoice_number’
如果PDF文件文本中包含此信息,则‘date_due’
错误追踪器
错误在GitHub Issues上追踪。如果遇到问题,请检查那里您的问题是否已经报告。如果您是第一个发现它的人,请提供详细且受欢迎的反馈。
请不要直接联系贡献者以获取支持或技术问题的帮助。
鸣谢
贡献者
Alexis de Lattre <alexis.delattre@akretion.com>
维护者
此模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
本模块是GitHub上OCA/edi项目的组成部分。
欢迎您贡献。要了解如何贡献,请访问https://odoo-community.org/page/Contribute。
项目详情
odoo12_addon_account_invoice_import_invoice2data-12.0.1.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 45456bbca9dd6b22235303af9f9430c97747423193bd8e13377600b9ecc0a25c |
|
MD5 | c181bc70bfc3056660cb1ff6926e8723 |
|
BLAKE2b-256 | 772f87760a85e4bc92e8eb6d5f2c8274ea16cd0ed750102ca4382d372f2b3313 |