# 把订单发送到Google Sheets

> 连接你的Google账号，用自动化把每笔成功的付款加进Google Sheet，成为新的一行。
>
> Source: https://docs.bcl.my/zh/google-sheets/

连接Google Sheets后，BCL可以为每笔成功的付款在你的电子表格添加一行，让你的订单都在一个可以排序、分享和计算总数的工作表里。这是用自动化完成的，不是在表单设置里。

你需要一个Google账号，以及一个第1行已有列标题的电子表格，例如**Date**、**Order Number**、**Name**、**Email**、**Phone**、**Amount**、**Payment Method**和**Form**。

## 连接你的Google账号

整个团队只需要连接Google一次。

1. 前往**Platform Setup** → **Integrations**，打开**Google**标签页。
2. 在**Google Sheets Integration**下点击**Connect Google Account**，然后登录Google。
3. Google会询问BCL可以访问什么。勾选**See, edit, create, and delete only the specific Google Drive files you use with this app**，然后点击**Continue**。这样BCL只能打开你选择的电子表格，不能打开你Drive里的其他文件。

   *(Screenshot: Google的授权页面，已标示Drive文件权限)*

4. 回到BCL，标签页会显示Google Sheets已**Connected**，还有**Connected Account**和**Connected Since**日期。之后可以用**Test Connection**再检查一次，**Disconnect**则会移除连接。

   *(Screenshot: 显示已连接账号的Google标签页)*

## 把每笔付款加进你的工作表

最快的方法是使用**Google Sheets Transaction Log**模板：

1. 前往**Automations**，点击**Templates**，然后在**Google Sheets Transaction Log**点击**Use Template**。

   *(Screenshot: Google Sheets Transaction Log模板，已标示Use Template)*

2. BCL会创建一个有**Payment Success**触发器和**Append to Sheet**节点的自动化，并打开它。点击**Rename**给它取你自己的名字。
3. 如果只想用在部分表单，打开**Payment Success**触发器，选择**Payment Source Type**，在**Specific Form**下选择表单，然后点击**Save Trigger**。
4. 点击**Append to Sheet**节点，然后点击它下面的齿轮按钮。
5. 在**Spreadsheet**下点击文件夹按钮，在Google窗口选择你的电子表格。然后选择**Sheet**（电子表格里的标签页）。如果你的列没有出现，点击**Sheet**旁的刷新按钮。

   *(Screenshot: Google Sheets Action Settings，已标示Spreadsheet和Sheet栏位)*

6. 在**Column Values**下，BCL会列出第1行的每个标题。输入每一列要放什么，例如`{payment_date}`、`{order_number}`、`{name}`、`{email}`、`{phone}`、`{amount}`、`{payment_method}`和`{form_title}`。点击**Variables**从列表里选择。

   *(Screenshot: Column Values部分，每一列都有一个变量)*

7. 点击**Test Append Row**，用示例资料添加一行并检查排版，然后点击**Save Google Sheets**。
8. 点击**Update Automation**，然后点击**Activate**。

从现在起，所选表单上的每笔成功付款都会在工作表添加一行：

*(Screenshot: 电子表格里多了一行Kopi Kampung Coffee Beans订单)*

## 改为更新一行

如果想每个订单只有一行，并随着订单进展更改它，就把**Action Type**设为**Update Row**。在**Lookup Settings**下，选择存放订单号码的**Lookup Column**，并在**Lookup Value**输入`{order_number}`。开启**Create row if not found**，把还不在工作表里的订单加进去。在**Update Values**下，为每个要更改的列点击**Add Column**，然后输入新的值，例如`{payment_status}`。**Google Sheets Update Status**模板会用**Transaction Status Changed**触发器帮你设置好。

## 小贴士

整齐的工作表可以省下之后的工夫：

- **之后不要移动或插入列**。BCL按列字母保存每个值，所以移动一列会把资料送到错误的位置。每次更改第1行后，点击刷新按钮，并检查**Column Values**。
- **每个用途用一个标签页**。例如，一个标签页放咖啡豆订单，另一个放课程订金，每个都有自己的自动化和表单筛选。
- **分享工作表，不要分享你的BCL登录**。只需要看订单列表的员工，可以直接用工作表。
- **如果不再出现新行，查看运行记录**。打开自动化，点击**Overview**。Google账号断开连接会在那里显示为失败的操作。请看[查看自动化的运行记录](/zh/automation-history/)。

## 常见问题

### 我怎样把付款表单或活动表单连接到Google Sheets？

Google Sheets不是表单设置。在Platform Setup → Integrations → Google连接你的Google账号，然后创建一个有Google Sheets操作的自动化。每笔付款都会加进一个新的行。

### 为什么BCL只看到我Google Drive里的部分文件？

BCL只要求访问你选择的文件。在Spreadsheet栏位用文件夹按钮选择你的电子表格；BCL看不到你Drive里的其他文件。

### 我的列没有出现在Google Sheets操作里。哪里出错了？

BCL从工作表的第一行读取列名称。在第1行输入你的标题，然后点击Sheet旁的刷新按钮。
