Plaid 集成

ERPNext 提供通过名为 Plaid 的服务同步银行账户的功能。请查看 Plaid 常见问题解答,确认您的国家是否受支持。

如果您的实例已连接到 Plaid,您就可以同步银行账户交易,而无需手动导入 CSV 或 XLSX 文件。

设置

为了让 ERPNext 访问 Plaid,您需要将以下三个参数添加到您的 site_config.json 文件中。

  • plaid_env
  • plaid_public_key
  • plaid_secret

激活

要在实例上激活 Plaid,请点击 Plaid 设置文档类型中的“启用”按钮。

激活后,您可以直接从银行对账仪表板创建新账户。

创建银行账户

要将您现有的银行账户之一链接到 ERPNext,请点击“链接新银行账户”,然后按照 Plaid 提供的步骤操作。

银行同步

要将银行账户与 ERPNext 同步,请选择一个账户,然后点击“操作”按钮,选择“同步此账户”。

同步基于“银行账户”文档类型中的“最后集成日期”。

如果出于任何原因您想重新进行同步,可以更改此日期并再次同步该账户。
由于所有银行交易都带有特定的交易 ID,因此同步只会是增量式的。

自动同步

您可以通过在 Plaid 设置中选择“每小时同步所有账户”,允许 Plaid 每小时自动将您的银行账户与 ERPNext 同步一次。

上传备份到亚马逊S3

注意:如果您是 Frappe Cloud 用户,系统会自动为您创建站点内和站点外备份:https://frappecloud.com/docs/sites/backups

前提条件

  • 电子邮件账户

要接收备份成功或失败的通知邮件,请先创建一个电子邮件账户

创建 S3 存储桶并设置访问权限

  1. 创建一个新的 S3 存储桶。

在存储桶设置中,启用“阻止所有公共访问”以保持数据私密。您可以根据需要启用加密、版本控制或对象锁定(请参考 Amazon 的文档)。
2. 打开身份与访问管理(IAM)。
3. 为服务“S3”创建一个新策略,允许“ListBucket”和“PutObject”操作。

或者,使用 JSON 编辑器:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::*/*",
                "arn:aws:s3:::YOUR TARGET BUCKET"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "YOUR SERVER IP"
                }
            }
        }
    ]
}
  1. 创建一个用于编程访问的新用户。

  1. 将您创建的策略附加到新用户。
  2. 复制用户的访问密钥和秘密密钥。

要自动删除旧备份或将它们移至更便宜的存储类别,请查看生命周期管理。

使用 Minio 创建 Hetzner 存储桶

大写字母是您可以自由选择的变量。在此示例中,我们使用区域 nbg1(纽伦堡)。

  1. 在 Hetzner 控制台 https://console.hetzner.com/projects/YOUR_PROJECT/security/s3-credentials 中,创建一些 S3 访问凭证:密钥和秘密密钥。
  2. 安装 Minio
  3. 配置 Minio 以访问您的 Hetzner 存储桶:mc alias set MY_ALIAS https://nbg1.your-objectstorage.com YOUR_S3_KEY YOUR_S3_SECRET
  4. 创建一个启用了对象锁定的存储桶:mc mb MY_ALIAS/BUCKET_NAME --with-lock --region nbg1。这可以确保您不会意外删除备份。
  5. 将对象锁定期限设置为 90 天:mc retention set GOVERNANCE 90d --default MY_ALIAS/BUCKET_NAME
  6. 检查所有配置是否正确:mc retention info --json --default MY_ALIAS/BUCKET_NAME
  7. S3 备份设置中输入配置:
  8. 端点 URL:https://nbg1.your-objectstorage.com/
  9. 存储桶名称:BUCKET_NAME
  10. 访问密钥 IDYOUR_S3_KEY
  11. 访问秘密密钥YOUR_S3_SECRET

设置 ERPNext

  • 打开S3 备份设置
  • 勾选“启用自动备份”。
  • 粘贴来自 AWS 的访问密钥和秘密密钥。
  • 设置一个电子邮件地址,以便在备份失败时接收通知。如果您也希望收到成功备份的邮件,请启用“发送成功备份邮件”。
  • 指定您在步骤 1 中创建的存储桶名称。
  • 选择您希望进行备份和上传备份的频率。范围可以从每月到每天。如果您只想手动备份,请将频率设置为“无”。

从已启用版本控制的存储桶中恢复已删除文件

  • 列出所有文件版本:mc ls -r --versions MY_ALIAS/BUCKET_NAME/
  • 下载特定版本:mc get --vid TARGET_VERSION_ID MY_ALIAS/BUCKET_NAME/20260415_162402/20260415_162402-company_frappe_cloud-database.sql.gz ~/Downloads

Google Drive 集成

ERPNext 提供了与 Google Drive 的集成功能,以便所有用户可以将数据备份到 Google Drive。

如何设置 Google Drive 集成

为了允许 ERPNext 将备份上传到 Google Drive,您需要授权 ERPNext 将文件上传到 Google Drive。Google Drive 集成通过以下步骤进行设置:

  • 通过 Google 设置创建 OAuth 2.0 凭据。
  • 在 Google Drive 列表中,点击“新建”。输入用于保存备份到 Google Drive 的备份文件夹名称、备份频率以及接收备份状态通知邮件的收件人邮箱,然后保存。现在点击 授权 Drive 访问权限,以授权 ERPNext 将文件推送到 Google Drive。
  • 授权完成后,您可以将备份保存到 Google Drive。

如何使用 Google Drive 集成

注意:如果您是 Frappe Cloud 用户,系统会自动为您创建本地和异地备份:https://frappecloud.com/docs/sites/backups

将备份上传到 Google Drive

  • 一旦 Google Drive 集成成功,您可以将系统备份以及所有公共和私有文件上传到 Google Drive。
  • 要将数据备份到 Google Drive,请点击 进行备份。备份过程将在后台运行,您将收到有关备份状态的通知。

注意:如果压缩后的备份大小超过 1GB(吉字节),系统将把最新的可用备份上传到 Google Drive,而不会生成新的备份文件。

谷歌地图集成

ERPNext 提供了与 Google 地图的集成功能,用于计算和优化配送行程的时间。

如何设置 Google 地图集成

要设置 Google 地图,以便 ERPNext 能够计算和优化配送行程的时间,请按照以下步骤操作:

  • 在 Google 设置中启用 API 访问权限。

如何使用 Google 地图集成

计算和优化配送行程

  • 一旦 Google 地图集成成功,您可以计算配送停靠点的预计到达时间,或优化配送停靠点顺序。

设置 Dropbox 备份

我们始终建议客户在 ERPNext 中维护数据备份。数据库备份以 SQL 文件的形式下载。如果需要,此备份的 SQL 文件也可以恢复到另一个 ERPNext 账户中。

您可以自动将 ERPNext 账户的数据库备份下载到您的 Dropbox 账户中。

> 注意:如果您是 Frappe Cloud 用户,系统会自动为您创建本地和异地备份: > >

要设置 Dropbox 备份,请前往:> 首页 > 集成 > Dropbox 设置

第 1 步:登录 Dropbox 开发者区域

第 2 步:创建一个新的 Dropbox 应用

第 3 步:填写新应用的详细信息

第 4 步:插入您的自定义域名重定向 URI

https://{yourwebsite.com}/api/method/frappe.integrations.doctype.dropbox_settings.dropbox_settings.dropbox_auth_finish

第 5 步:在新窗口中,打开您的 ERPNext 安装中的 Dropbox 设置页面

第 6 步:设置备份频率和电子邮件

设置将站点备份下载到您的 Dropbox 账户的频率。

第 7 步:从您的 Dropbox 应用窗口输入密钥

从您的 Dropbox 应用页面,将应用密钥和(取消隐藏的)应用机密输入到 ERPNext Dropbox 设置页面中。

或者,您也可以手动将其输入到 sites/{sitename}/site_config.json 中,如下所示:

       {
 "db_name": "demo",
 "db_password": "DZ1Idd55xJ9qvkHvUH",
 "dropbox_access_key": "ACCESSKEY",
 "dropbox_secret_key": "SECRECTKEY"
}

第 8 步:在继续之前点击保存

第 9 步:保存后,点击“允许 Dropbox 访问”

Dropbox 登录页面将在新标签页中打开。这可能需要您允许为您的 ERPNext 账户弹出窗口。

第 11 步:允许 Dropbox 访问

登录成功后,您将看到如下确认消息。点击“允许”以让您的 ERPNext 账户访问您的 Dropbox 账户。

第 12 步:确认备份正常工作

从 ERPNext Dropbox 页面,点击 Take Backup Now,然后前往您的 Dropbox 文件视图。您应该会在 Dropbox 中看到一个名为 Apps 的新文件夹,其中包含您的 {新应用} 文件夹。在该文件夹内,应该有文件和数据库的备份文件夹。因此,对于一个名为 erpnext 的应用,文件夹位置如下:

Database files: /Apps/erpnext/database
Public files: /Apps/erpnext/files
Private files: /Apps/erpnext/private/files

> 注意:如果压缩后的备份大小超过 1GB(吉字节),系统将上传最新的可用备份到 Dropbox,而不是生成新的备份文件。

Google 联系人集成

ERPNext 提供了与 Google 联系人的集成功能,以便所有用户能够将其 Google 联系人同步到 ERPNext

如何设置 Google 联系人集成

为了允许与 Google 联系人进行同步,您需要授权 ERPNext 从 Google 获取联系人数据。Google 联系人集成通过以下步骤进行设置:

  • 通过 Google 设置创建 OAuth 2.0 凭据。
  • 在 Google 联系人列表中,点击“新建”。输入您要同步的 Google 账户邮箱,然后保存。现在点击授权联系人访问,以授权 ERPNext 从 Google 获取联系人数据。

如何使用 Google 联系人集成

在 ERPNext 中创建联系人

  • 一旦 Google 联系人集成成功,如果勾选了 Push to Google Contacts,则在 ERPNext 中创建的所有联系人都会被同步。

在 ERPNext 中创建联系人:

它将会显示在 Google 联系人中:

从 Google 联系人同步联系人

  • 一旦 Google 联系人集成成功,如果勾选了 Pull from Google Contacts,则 Google 联系人中的所有联系人都会被同步。

配置fairlogin

fairlogin 是 fairkom.eu 提供的一个符合 GDPR 标准的 oAuth 提供商。

要设置 fairlogin 作为 oAuth 提供商,请前往:

首页 > 集成 > 社交登录密钥

设置 keycloak

fairlogin 基于 keycloak,因此参数可能类似于任何使用 keycloak 的自定义 oAuth 设置。

在那里添加一个新客户端,选择 open-id 作为客户端协议,并将您的 ERPnext 实例地址输入为根 URL、重定向 URL 和基础 URL。

将您的 ERNext 服务添加为客户端是 fairkom 提供的一项服务。

设置 fairlogin

要启用 fairlogin 作为 ERPNext 的登录选项,您需要配置以下参数:

  • 基础 URL https://id.fairkom.net/auth/realms/fairlogin/
  • 授权 URL https://id.fairkom.net/auth/realms/fairlogin/protocol/openid-connect/auth
  • 重定向 URL /api/method/frappe.integrations.oauth2_logins.login_via_fairlogin
  • 访问令牌 URL https://id.fairkom.net/auth/realms/fairlogin/protocol/openid-connect/token
  • API 端点 https://id.fairkom.net/auth/realms/fairlogin/protocol/openid-connect/userinfo

启用服务后,系统将允许使用任何 fairlogin 账户登录。

新用户的默认角色是“博主”(目前为硬编码)。

Google 日历集成

ERPNext 提供了与 Google 日历的集成功能,以便所有用户能够将其 Google 日历事件与 ERPNext 同步。

如何设置 Google 日历集成

为了实现与 Google 日历的同步,您需要授权 ERPNext 从 Google 获取日历事件数据。Google 日历集成通过以下步骤设置:

  • 通过 Google 设置创建 OAuth 2.0 凭据。
  • 在 Google 日历列表中,点击“新建”。输入日历名称以及您要同步的用户,然后保存。
  • 根据您要同步的数据,可以选择以下选项:
  • 从 Google 日历拉取 – 将 Google 日历中的所有事件同步到 ERPNext。
  • 推送到 Google 日历 – 将 ERPNext 中的所有事件同步到 Google 日历。
  • 现在点击授权日历访问,以授权 ERPNext 从 Google 获取日历事件数据。
  • 授权后,您可以手动同步 Google 日历事件,或让 ERPNext 每天自动同步 Google 联系人。

如何使用 Google 日历集成

在 ERPNext 中创建事件

  • 一旦 Google 日历集成成功,如果勾选了 Push to Google Calendar,则在 ERPNext 中创建的所有事件都将被同步。
  • 在 ERPNext 中创建事件
  • ERPNext 中删除事件

从 Google 日历同步事件

  • 一旦 Google 日历集成成功,如果勾选了 Pull from Google Calendar,则 Google 日历中的所有事件都将被同步。
  • 将事件从 Google 日历同步到 ERPNext

配置LDAP

轻量级目录访问协议(LDAP)是一种集中式访问控制系统,被许多中小型组织使用。

通过设置 LDAP 服务,您可以使用 LDAP 凭据登录 ERPNext 账户。

1. 前提条件

要使用 LDAP,您首先需要安装 ldap3 Python 模块。为此,请在托管 ERPNext 实例的服务器上打开一个终端会话。进入 frappe-bench 目录。 运行命令:./env/pip install ldap3

现在您已准备好启用 ERPNext 中的 LDAP 服务。

2. 设置 LDAP

要设置 LDAP,请前往

首页 > 集成 > LDAP 设置

许多参数是强制性的,以便让 ERPNext 连接到 LDAP。它们是:

  • LDAP 服务器 URL:这是您的 LDAP 服务器的 URL。必须采用 ldap://yourserver:portldaps://yourserver:port 的形式。

  • 基础专有名称(DN):这是有权在您的 LDAP 服务器上查找用户详细信息的用户的专有名称。该用户应仅在您的 LDAP 服务器上拥有只读权限。

  • 基础 DN 的密码:这是上述用户的密码,用于在您的 LDAP 服务器上查找用户详细信息。

  • 用户组织单位:这是组织单位的 DN,您的 LDAP 服务器中的所有用户必须属于该组织单位才能登录 ERPNext。

  • 创建时的默认角色:当用户在 ERPNext 中创建时,他们将在首次登录时被分配此默认角色。

  • LDAP 搜索字符串:此字段允许 ERPNext 将 ERPNext 登录屏幕中输入的用户/电子邮件与 LDAP 服务器进行匹配。例如,您可以根据偏好使用电子邮件地址或用户名。

它必须以以下格式输入:LDAPFIELD={0}

Active Directory 用户名示例:sAMAccountName={0}

Open LDAP 用户名示例:uid={0}

  • LDAP 电子邮件字段:指定包含用户电子邮件地址的 LDAP 字段。

Active Directory 和 Open LDAP 示例:mail

  • LDAP 用户名字段:指定包含用户用户名的 LDAP 字段。

Active Directory 示例:sAMAccountName

Open LDAP 示例:uid

  • LDAP 名字字段:指定包含用户名字的 LDAP 字段。

Active Directory 示例:givenName

Open LDAP 示例:sn

还有许多其他非强制性字段,您可以使用它们将 LDAP 用户字段映射到 ERPNext 用户字段。它们是:

  • 中间名
  • 电话
  • 手机

一旦您的设置正确,您可以点击顶部的 Enabled 复选框。当尝试启用 LDAP 时,ERPNext 将尝试连接到 LDAP 服务器以确保设置正确。如果失败,您将无法启用 LDAP,并会收到一条错误消息。

错误消息将指示需要解决的问题才能继续。

启用 LDAP 后,在登录屏幕上,系统会启用通过 LDAP 登录选项。

2.1 LDAP 安全

在 LDAP 安全部分,您有多种选项可以安全地连接到您的 LDAP 服务器。

  • SSL/TLS 模式

指定是否要在初始连接到 LDAP 服务器时启动 TLS 会话。

  • 需要受信任的证书

指定是否需要受信任的证书才能连接到 LDAP 服务器。

如果您指定了受信任的证书,则需要指定证书文件的路径。这些文件应放置在您的 ERPNext 服务器上,以下字段应为服务器上文件的绝对路径。 证书字段包括:

  • 私钥文件路径

  • 服务器证书路径

  • CA 证书文件路径

2.2 LDAP 组映射

ERPNext 还允许您自动将多个 LDAP 组映射到相应的 ERPNext 角色。 例如,您可能希望所有会计部门的员工自动拥有“会计用户”角色。

请确保填写 LDAP 组字段以允许此操作。这是 LDAP 中用户对象上的字段,包含用户所属的所有组。

对于 Active Directory 和 Open LDAP,此字段应设置为 memberOf

Open LDAP 可能需要在您的 LDAP 服务器上启用此字段。有关更多详细信息,请参阅互联网上的示例。

请注意,每次用户登录时都会检查所有 ERPNext 角色,并会从用户权限中移除或添加相应角色。

在 LDAP 设置区域,有两个下拉菜单。

  1. SSL/TLS 模式 – 将其设置为 StartTLS 以使用 StartTLS 连接到您的 LDAP 服务器。如果您的 LDAP 服务器不支持 StartTLS,将其设置为 StartTLS 将导致错误 StartTLS is not supported。如果收到此错误,请检查 LDAP 服务器上的配置。
  2. 需要受信任的证书 – 如果将此选项更改为,则 LDAP 服务器提供的证书必须受 Frappe/ERPNext 服务器信任。如果您希望使用带有自签名(不受信任)证书的 StartTLS,请将此选项设置为。如果您不使用 StartTLS,则此设置将被忽略。

Google 设置

要启用 Google 集成,ERPNext 需要通过 API 访问数据以进行同步,这可以通过 OAuth 2.0 认证协议实现。

如何设置 Google 设置

针对 Google 日历、Google 联系人、Google 云端硬盘和 Google 索引

为了允许与上述任一服务进行同步,您需要授权 ERPNext 从 Google 获取数据。以下是设置 Google 联系人集成的示例:

  1. 在 Google Cloud Platform 上创建一个新项目,并生成新的 OAuth 2.0 凭据。
  • 在 API 库中为您希望集成的服务启用 API 访问权限。

    • Google 日历:Calendar API
    • Google 联系人:People API
    • Google 云端硬盘:Drive API
    • Google 索引:Indexing API
  • API 和服务 > 凭据 中,创建一个新的凭据,并选择 创建 OAuth 客户端 ID

  • 选择应用程序类型为 Web 应用程序

  • https://{yoursite} 添加到已授权的 JavaScript 来源。

  • https://{yoursite}?cmd=frappe.integrations.doctype.google_calendar.google_calendar.google_callback 添加为 Google 日历的已授权重定向 URI。

  • https://{yoursite}/api/method/frappe.integrations.google_oauth.callback 添加为其余服务的已授权重定向 URI。

  • 首页 > 集成 > Google 服务 > Google 设置 的 Google 设置中添加您的客户端 ID 和客户端密钥。

针对 Google 地图

仅当您想使用 Directions API(例如在 ERPNext 的 配送行程 中)时,才需要设置 API 密钥。对于其他功能,则无需设置。

为了允许与 Google 地图同步,您需要生成一个 API 密钥,因为 Google 地图不需要访问 Google 的数据。

  1. 在 Google Cloud Platform 上创建一个新项目,并生成新的 API 密钥。
  • 在 API 库中为 Directions API 启用 API 访问权限,然后在 首页 > 集成 > Google 服务 > Google 设置 的 Google 设置中添加 API 密钥。