如果您创建的电子开票功能从通过电子邮件接收的附件导入电子供应商发票,您应该配置电子邮件帐户渠道。
将 IMAP 权限添加到 Microsoft Azure AD 应用程序
在 Microsoft Azure 门户中,选择应用注册服务。
选择新建注册以创建应用注册。
输入名称。
在支持的帐户类型部分,选择仅此组织目录中的帐户选项。
创建应用注册后,选择 API 权限。
选择添加权限。
在我的组织使用的 API 选项卡上,搜索 Office 365 Exchange Online。
选择应用程序权限。
对于 Internet 邮件访问协议 (IMAP) 访问,选择 IMAP.AccessAsApp 权限。
选择添加权限。
要通过 IMAP 访问 Exchange 邮箱,您的 Azure Active Directory (Azure AD) 应用程序必须获得每个租户的租户管理员同意。 有关详细信息,请参阅权限和同意简介。
- 在 Azure AD 应用程序的管理视图中,选择 API 权限。
- 在配置的权限下,选择为<名称>授予管理员同意。
选择概览。
复制应用程序(客户端)ID 和目录(租户)ID 值。
选择证书和密码。
在客户端密码选项卡上,选择新建客户端密码,并注意到期日期字段中的值。 当机密过期时,将无法再使用,必须创建新的机密。
创建机密后,复制值值,将其保存在与“电子开票服务”服务环境关联的 Azure 密钥保管库中。
在 Regulatory Configuration Service (RCS) 服务环境中添加指向此机密的链接。 有关详细信息,请参阅客户证书和机密。
将应用程序(客户端)ID 值保存为同一密钥保管库的机密,并在 RCS 中的“电子开票服务”服务环境中添加指向此机密的链接。
在 Azure 门户中,选择企业应用程序服务。
查找与步骤 2 中创建的应用注册同名的应用程序。
选择概览。
复制对象 ID 值。
在 Exchange 中注册服务主体
租户管理员同意您的 Azure AD 应用程序后,他们必须通过运行一系列 PowerShell 片段,通过 Exchange Online PowerShell 在 Exchange 中注册应用程序的服务主体。 其中一些片段使用您在上一过程中复制的值:
- <ORGANIZATION_ID> 是您复制的目录(租户)ID 值。
- <APPLICATION_ID> 是您复制的应用程序(客户端)ID 值。
- <OBJECT_ID> 是您复制的对象 ID 值。
按照以下步骤在 Exchange 中注册服务主体。
安装 ExchangeOnlineManagement 模块。
Install-Module -Name ExchangeOnlineManagement -allowprerelease Import-module ExchangeOnlineManagement
注释
ExchangeOnlineManagement 模块只能在 Exchange 管理员的计算机上安装一次。
连接到 Exchange Online。
Connect-ExchangeOnline -Organization <ORGANIZATION_ID>
以下示例显示如何在 Exchange 中注册 Azure AD 应用程序的服务主体。
New-ServicePrincipal -AppId <APPLICATION_ID> -ServiceId <OBJECT_ID> -Organization <ORGANIZATION_ID>
注意
如果在运行 New-ServicePrincipal cmdlet 时收到错误,您可能在 Exchange Online 中没有足够的权限执行此操作。 或者,您要尝试使用来宾帐户执行此操作。
以下示例显示如何让应用程序的服务主体访问一个邮箱。
Add-MailboxPermission -Identity "john.smith@contoso.com" -User <OBJECT_ID> -AccessRights FullAccess
在 RCS 中创建功能设置
在 RCS 中,选择您创建的电子开票功能。 选择草稿状态的版本。
在设置选项卡上,选择添加。
在创建功能设置下拉对话框中的新建字段组中,选择自定义设置选项。
在设置类型字段组中,选择数据渠道选项。
在选择数据渠道字段中,输入 Exchange 上的传入电子邮件。
选择创建。
选择您创建的行,然后选择编辑。
在数据渠道选项卡上,在参数部分,设置以下必填字段。
字段 Description 数据渠道 输入一个唯一名称来标识数据渠道。 名称最多可以包含 10 个字符。 它将在适用性规则以及在通信流程期间在 Dynamics 365 Finance 应用程序中引用。 服务器地址 输入 Exchange Online 的服务器地址。 例如,Office 365 Exchange Online 的默认值为 outlook.office365.com。 服务器端口 输入电子邮件帐户提供商使用的端口号。 例如,Office 365 Exchange Online 的默认值为 993。 用户名密码 输入包含电子邮件用户帐户 ID 的密钥保管库机密的名称。 此机密必须在 Key Vault 中创建,并且必须在您的服务环境中设置。 客户端 ID 输入包含应用注册的应用程序(客户端)ID 值的密钥保管库机密的名称。 客户端密钥 输入包含应用注册客户端密码的值值的密钥保管库机密的名称。 超时 系统应等待响应的最大时间限制,以毫秒 (ms) 为单位。 默认值为 10,000 毫秒(10 秒)。 主文件夹 指定电子邮件导入源,或服务应处理的电子邮件所来自的文件夹。 存档文件夹 指定应存储已处理电子邮件的文件夹。 如果不设置值,将自动创建文件夹。 错误文件夹 指定处理失败时电子邮件应移动到的文件夹。 如果不设置值,将自动创建文件夹。 最大消息大小 输入处理的单个消息的最大大小,以字节为单位。 默认值为 20,000,000 字节。 最大消息数 输入单个操作可处理的最大消息数。 如果您不想限制消息数量,将值设置为 0(零)。 发件人筛选器 输入字符串以按发件人地址进行筛选。 只有发件人地址与筛选器匹配的电子邮件会被处理。 此字段为可选字段。 要指定多个发件人地址,请使用分号 (;) 作为分隔符。 主题筛选器 输入字符串以按主题进行筛选。 只有主题与筛选器匹配的电子邮件会被处理。 此字段为可选字段。 支持简单的掩码,例如 *smth*.ext。 此处,每个星号 (*) 表示零次或多次重复出现的任何字符。 日期筛选器 指定日期来定义处理的邮件的最长期限,以天为单位。 此字段为可选字段。 默认值为 30 天。 处理模式 选择以下选项之一以指定是否可以一起处理电子邮件中的所有附件,或者是否应单独处理每个附件:
- 按附件 – 将为电子邮件中的每个附件创建一个新的电子文档。 例如,如果一封电子邮件包含多个包含电子发票数据的文件,每个文件都将被视为一个新电子发票。
- 按电子邮件 – 一个附件将被视为基本附件,并会创建一个电子发票。 其他附件可用作支持文件。
在附件筛选器部分,添加文件筛选信息。 将仅处理满足定义的筛选器的附件。 例如,*.xml 筛选具有 .xml 文件扩展名的附件。 设置期间 Dynamics 365 Finance 或 Dynamics 365 Supply Chain Management 中将使用附件名称。
- 如果您在上一步中将处理模式字段设置为按电子邮件,可以在此处添加多个筛选器。 名称将标识特定文档。
- 如果您将处理模式字段设置为按附件,则只能添加一个筛选器。
根据需要,在适用性规则选项卡上查看和更新条件。 渠道字段的值必须等于您在步骤 8 中在数据渠道字段中输入的值。
选择保存,然后关闭页面。