使用invoice2data库导入供应商发票
项目描述
会计发票导入Invoice2data
此模块是模块account_invoice_import的扩展:它添加了对常规PDF发票的支持,即没有嵌入式XML文件的PDF发票。它使用invoice2data库,该库负责提取PDF发票的文本,找到现有的发票模板并执行发票模板以从发票中提取有用信息。
要了解此模块开发的全部故事,请阅读这篇博客文章。
安装
此模块需要Python库invoice2data,可在Github上找到。
要安装正确的库版本,请运行
sudo pip install git+https://github.com/invoice-x/invoice2data.git
为了在Odoo v8上使用较新的invoice2data版本,您需要Odoo v8版本日期在2016年1月29日之后,以便它包含此修复程序,该修复程序解决了此错误。
invoice2data库需要最新版本的pdftotext实用程序,该实用程序在Debian/Ubuntu中尚未打包。因此,您应从Foolabs的FTP服务器下载它,然后解压缩它,并将文件bin64/pdftotext复制到/usr/local/bin。
如果您希望invoice2data库在PDF不包含文本时回退到OCR(只有极少数的PDF发票是基于图像的,需要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
配置
进入供应商表单视图并使用以下参数进行配置
是否是一家公司?选择True
供应商选择True
设置纳税人识别号(即增值税号)(当在Odoo合作伙伴数据库中搜索供应商时默认使用增值税号)
在会计选项卡中创建一个发票导入配置。
对于没有嵌入XML文件的供应商PDF发票,您需要在invoice2data 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的文本,然后是解析发票和正则表达式的调试信息,最后是包含解析结果的字典。
如果供应商的增值税号出现在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维护。
ODoo社区协会(OCA)是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
要为该模块做出贡献,请访问 https://odoo-community.org。
项目详情
哈希值 for odoo8_addon_account_invoice_import_invoice2data-8.0.1.0.0.99.dev16-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d6d4a8ce98cdbf114f63f3c968f0d5c4a1b00528c63731a90abff36cbb3b023 |
|
MD5 | ff5c3bf3079f22e4fb1eb932573c29e7 |
|
BLAKE2b-256 | 650bb790184e7f6151d784008094bdde9158f3cf460509af792d2950ee31af3e |