目录
article
[TITLE]
Sendcloud 与 Odoo 集成指南:设置、配置与使用教程
[DESCRIPTION]
本文详细介绍如何在 Odoo 中集成 Sendcloud 包裹服务,包括账号创建、仓库地址配置、获取 API 凭证、安装与配置 Odoo 模块、设置取货点、加载运输产品、生成标签及常见问题,帮助企业实现欧洲物流自动化。
[KEYWORDS]
Sendcloud, Odoo, 物流集成, 船运标签, 仓库配置, 运输规则, 取货点, 费用计算, 合同价格, 体积重量
[TRANSLATED_CONTENT]
# Sendcloud 集成
Sendcloud 是一个航运服务聚合平台,可帮助 Odoo 与欧洲各大物流承运商对接。完成集成后,用户可以在 Odoo 库存操作中选择相应的航运承运商。
## 在 Sendcloud 中的设置
### 创建账号并激活承运商
要开始使用,请 [创建或登录 Sendcloud 账号](https://account.sendcloud.com/signup/?utm_source=odoo&utm_medium=partnerships&utm_campaign=partner_integrations_page)。
在 Sendcloud 平台,按照 [Sendcloud 集成文档](https://support.sendcloud.com/hc/en-us/articles/360059470491-Odoo-Native-integration) 配置账号并生成连接器凭证。
::: note
**注意**
新建账号时,Sendcloud 会要求提供 `VAT(增值税号)` 或 `EORI(经济运营者登记号)`。完成账号设置后,激活(或停用)将在 Odoo 数据库中使用的航运承运商。
:::
::: important
**重要**
在免费版 Sendcloud 计划中,仅当绑定银行账户后才可使用 Odoo 集成,因为 Sendcloud 不提供免费发货服务。若要使用运输规则或自定义承运商联系人,必须使用付费计划。
:::
### 仓库配置 {#inventory/shipping_receiving/sendcloud-warehouse-config}
登录 Sendcloud 账号后,进入 `Settings --> Shipping --> Addresses`,填写 `Warehouse address`(仓库地址)字段。
{.align-center}
若希望 Sendcloud 也能处理退货,需要提供 `Return Address`(退货地址)。在 `Miscellaneous`(杂项)部分,有 `Address Name (optional)`(地址名称,可选)字段,需填写 Odoo 仓库名称,且字符必须完全一致。
::: example
**Sendcloud 配置**
- `Miscellaneous`
- `Address Name (optional)`: `[Warehouse #1]`
- `Brand`: `[Default]`
**Odoo 仓库配置**
- `Warehouse`: `[Warehouse #1]`
- `Short Name`: `[WH]`
- `Company`: `[My company (San Francisco)]`
- `Address`: `[My Company (San Francisco)]`
> 注意:Odoo 与 Sendcloud 中的 `Warehouse` 字段输入必须完全相同。
:::
### 生成 Sendcloud 凭证
在 Sendcloud 账户中,进入 `Settings --> Integrations`,右侧菜单搜索 `Odoo Native`,点击 `Connect`。
点击 `Connect` 后页面会跳转到 `Sendcloud API` 设置页,生成 `Public and Secret Keys`(公钥与私钥)。下一步为该集成命名,命名规则为 `[Odoo CompanyName]`,将用户公司名称替换 `[CompanyName]`(如 `[Odoo StealthyWood]`)。
勾选 `Service Points`(服务点)并选择本次集成所需的航运服务,保存后即可生成公钥和私钥。
{.align-center}
## 在 Odoo 中的设置
为确保 Sendcloud 与 Odoo 的无缝对接,`install <inventory/shipping_receiving/sendcloud-module>` 并 `link <inventory/shipping_receiving/link-sendcloud-module>` Sendcloud 航运连接器到对应的 Sendcloud 账户。随后 `configure Odoo fields <inventory/shipping_receiving/sendcloud-shipping-info>`,使 Sendcloud 能准确拉取航运数据并生成标签。
::: seealso
`在网站上启用取货点 <inventory/shipping_receiving/sendcloud-pickups>`
:::
### 安装 Sendcloud 航运模块 {#inventory/shipping_receiving/sendcloud-module}
在完成 Sendcloud 账户的设置后,进入 Odoo 的 `Apps` 模块,搜索 **Sendcloud Shipping** 集成并安装。
{.align-center}
### Sendcloud 航运连接器配置 {#inventory/shipping_receiving/link-sendcloud-module}
安装完成后,在 `Inventory --> Configuration --> Settings` 中激活 `Sendcloud Shipping` 模块。`Sendcloud Connector` 设置位于 `Shipping Connectors`(航运连接器)区域。
激活后,点击列出的 `Sendcloud Shipping Methods` 链接,进入 `Shipping Methods` 页面后点击 `New`(新建)。
::: tip
**提示**
`Shipping Methods` 也可以通过 `Inventory --> Configuration --> Delivery --> Shipping Methods` 进入。
:::
在 **新建航运方式** 表单中填写以下字段:
- `Shipping Method`(航运方式):填写 `[Sendcloud DPD]`。
- `Provider`(提供商):从下拉列表选择 `Sendcloud`。
- `Delivery Product`(交付产品):选择已为该航运方式配置的产品,或新建产品。
- 在 `SendCloud Configuration`(Sendcloud 配置)标签页,填写 `Sendcloud Public Key`(公钥)和 `Sendcloud Secret Key`(私钥)。
#### 取货点 {#inventory/shipping_receiving/sendcloud-pickups}
Sendcloud 的 [服务点配送](https://support.sendcloud.com/hc/en-us/articles/360026097951-FAQ-Service-Points) 允许客户在结账时选择附近的门店或柜子作为收货地点,而不是填写私人收货地址。
要启用此功能,打开航运方式表单,在 `SendCloud Configuration` 标签页的 `Options`(选项)区勾选 `Use Sendcloud Locations`(使用 Sendcloud 位置)功能。
::: important
**重要**
取货点仅在 **Website**(网站)应用的线上结账页面可用,**Sales**(销售)应用的内部视图目前不支持手动选择取货点。
例如,若客户选择 `Sendcloud Mondial Relay` 方式,则必须在网站结账时选择取货点,否则该交付订单无法在 Odoo 中验证。
:::
#### 加载航运产品
表单保存后,按以下步骤加载航运产品:
1. 在 `New Shipping Method` 表单的 `SendCloud Configuration` 标签页,点击 `Load your SendCloud shipping products` 链接。
2. 选择公司希望用于发货和退货的航运产品。
3. 点击 `Select`(选择)。
::: example
**在 Odoo 中配置的示例 Sendcloud 航运产品**
| 类型 | 字段 | 示例 |
|------|------|------|
| **DELIVERY** | `Shipping Product` | `[DPD Home 0-31.5kg]` |
| | `Carrier` | `[DPD]` |
| | `Minimum Weight` | `[0.00]` |
| | `Maximum Weight` | `[31.50]` |
| | `Countries` | `[Austria] [Belgium] … [Switzerland]` |
| **RETURN** | `Return Shipping Product` | `[DPD Return 0-20kg]` |
| | `Return Carrier` | `[DPD]` |
| | `Return Minimum Weight` | `[0.00]` |
| | `Return Maximum Weight` | `[20.00]` |
| | `Return Countries` | `[Belgium] [Netherlands]` |
{.align-center}
:::
::: tip
**提示**
Sendcloud 不提供测试密钥,若在 Odoo 中创建包裹会直接计费,除非在 24 小时内手动取消。Odoo 在测试环境下会自动在创建标签后立即取消,以防止产生费用。测试与生产环境的切换可通过各自的智能按钮完成。
:::
### 航运信息 {#inventory/shipping_receiving/sendcloud-shipping-info}
使用 Sendcloud 生成航运标签时,必须在 Odoo 中准确完整地填写以下信息:
1. **客户信息**:在创建报价单时,确保所选 `Customer`(客户)拥有有效的手机号码、电子邮件以及收货地址。可在客户页面的 `Contact`(联系人)字段填写收货地址,并填写 `Mobile`(手机)和 `Email`(邮箱)。
2. **产品重量**:确保订单中所有产品的 `Weight`(重量)已在其 `Inventory`(库存)标签页中填写。参考本文的 `配置重量` 章节获取详细操作。
3. **仓库地址**:确保 Odoo 中的仓库名称和地址与前文在 Sendcloud 中定义的仓库信息完全一致。有关 Odoo 仓库配置的详细说明,请参阅第三方航运文档中的 `仓库配置` 部分。
## 使用 Sendcloud 生成标签
在 Odoo 中创建报价单时,添加航运并选择 `Sendcloud shipping product`,随后 `Validate`(验证)交付。系统会在 chatter(聊天记录)中自动生成标签文件,内容包括:
1. **Shipping label(s)**(航运标签),数量取决于包裹数。
2. **Return label(s)**(退货标签),若 Sendcloud 连接器已配置退货功能。
3. **Customs document(s)**(海关单证),如目的国需要。
同时,追踪号码也会同步显示。
::: important
**重要**
生成退货标签时,Sendcloud 会自动向配置的 Sendcloud 账户收取费用。
:::
### 航运规则
可选地创建航运规则,以自动生成符合不同产品需求的标签。例如,可为运送贵重珠宝的客户创建需要保险的航运规则。
::: note
**注意**
航运规则不影响 **运费计算**,仅用于优化 **生成标签** 的流程。
:::
使用航运规则的步骤:
1. 进入 `Inventory app --> Configuration --> Delivery: Shipping Methods`,选择相应的 [Sendcloud] 航运方式。
2. 在 `Sendcloud Configuration` 标签页的 `OPTIONS`(选项)区,选择 `Use Sendcloud shipping rules`(使用 Sendcloud 航运规则)字段,并指定规则适用范围:`Shipping`(发货)、`Returns`(退货)或 `Both`(两者)。
{.align-center}
3. 登录 Sendcloud 网站,进入 `Settings --> Shipping rules`,点击 `Create New` 新建规则。
4. 在 `Actions`(动作)区设置 `Condition`(条件)以及满足条件时的处理方式。
::: seealso
[在 Sendcloud 上创建航运规则](https://support.sendcloud.com/hc/en-us/articles/10274470454292-How-to-create-shipping-rules#examples-smart-shipping-rules)
:::
## 常见问题
### 货物过重
若货物重量超过所选 Sendcloud 服务的限制,系统会将重量拆分为多个包裹进行模拟。需要在不同的 `Packages`(包裹)中放置产品后再 `Validate`(验证)以生成标签。也可以在 Sendcloud 中设置规则,自动切换至其他承运商,但此类规则不会影响销售订单的运费计算。
### 个人承运商合同
通过 CSV 上传自定义价格:登录 Sendcloud,进入 `Settings --> Carriers --> My contracts`,选择目标合同。
在 `Contract prices`(合同价格)区点击 `Download CSV`,在 CSV 模板的 `price`(价格)列填入对应价格。
::: warning
**警告**
请确保 CSV 文件中的价格准确无误,防止计费错误。
:::
上传完成后点击 `Save these prices` 保存。
::: seealso
[Sendcloud:如何通过承运商上传合同价格](https://support.sendcloud.com/hc/en-us/articles/5163547066004)
:::
### 体积重量计算
许多承运商同时考虑实际重量和体积重量(即包裹在运输过程中的体积所对应的重量)。
::: tip
**提示**
检查所选承运商是否已在系统中预设体积重量计算公式。
:::
::: seealso
[Sendcloud:如何计算并自动化包裹体积重量](https://support.sendcloud.com/hc/en-us/articles/360059644051-How-to-calculate-automate-parcel-volumetric-weight)
:::
### 无法计算运费
首先确认待发货产品的重量在所选航运方式的支持范围内;随后检查收货地址所在国家是否被承运商覆盖;同样,发货仓库所在国家也需在承运商服务范围内。
---
[SUMMARY]
- Sendcloud 集成
- 在 Sendcloud 中的设置
- 创建账号并激活承运商
- 仓库配置
- 生成 API 凭证
- 在 Odoo 中的设置
- 安装 Sendcloud 航运模块
- 配置连接器
- 设置取货点
- 加载航运产品
- 填写航运信息
- 使用 Sendcloud 生成标签
- 航运规则
- 常见问题
- 货物过重
- 个人承运商合同
- 体积重量计算
- 无法计算运费