﻿# 把发票记进台账

这一页带你把一叠发票记进台账：拖进去，点一下，看结果。名称和数字都是虚构的，财务部的空间里已经有「发票入账」这个工作流，和「发票台账」「报销单台账」两个应用。

## 1. 打开发票入账

点左边的「财务部」，再点上面的「工作流」。列表里有「发票入账」和两个应用，点「发票入账」。

![财务部的工作流列表：发票入账，以及应用「报销单台账」和「发票台账」。](./invoice-list.webp)

## 2. 认识这一页

右边是「发票入账」自己的页面，从上到下是：它做什么的一句话、它怎么启动、一块写着「把发票拖到这里」的虚线框、一个「运行」按钮，最下面是它要做的两步。不用读别的，这一页就够了。

![发票入账的页面：虚线框、运行按钮和两个步骤。](./invoice-run-page.webp)

## 3. 把发票拖进去

把发票拖进虚线框：电子发票的 PDF，或者纸质发票的照片（图片文件）都可以。也可以点一下虚线框，在弹出的窗口里选文件；发票已经在这个空间的文件列表里，也可以直接从列表拖进来。

拖进去的文件名会列在框下面。文件还在上传时，「运行」是灰的，等它颜色变深就可以点了。放错了，点文件名右边的 ×，把它拿掉。

![三张发票已经拖进来，文件名列在框下面。](./invoice-dropped.webp)

## 4. 点运行

点「运行」。下面的步骤一步一步打钩：读取发票内容，再登记进台账并查重。每一步下面有一行字，说它刚才做了什么，比如「读了 3 个文件」「新增 0 行，3 行已经有了」。电子发票直接从文字里读；照片则由这个空间的助手来读，这一步会多花几秒，运行记录里留着它被问了什么、答了什么。

## 5. 看结果

步骤下面是「运行记录」，每次运行一行，最新的在前；点一次运行，看它的每一步做了什么。第二步说这次记进台账几行，台账里本来就有几张。图里的三张发票台账里都已经有了，所以写着「新增 0 行，3 行已经有了」。每一张新的发票会成为「发票台账」里的一行，原件留在「上传」里。

发票号码已经在台账里的，算重复；一批里同一个号码出现两次，也只记一次。

![两个步骤都已打钩：读了 3 个文件，新增 0 行，3 行已经有了，下面是运行记录。](./invoice-result.webp)

## 6. 标记已报销

报销之后，回到列表，打开应用「发票台账」。每一行在「已报销」这一列有一个方框，打上钩就行。表上面的「2026年10月」「2026年09月」标签切换月份。表上面的虚线框也收发票：「把发票拖到这里，自动读内容登记」。

![发票台账：每张发票一行，第一列是「已报销」方框。](./invoice-mark.webp)

## 在会话里启动

不用打开页面。在这个空间的任何一场会话里写 `/workflow 发票入账`，同一条消息里附上发票。文件会放进空间的「上传」文件夹，并按附上的顺序放进这个工作流的发票框，运行以你的名义开始。会话里随后会有一段说明：每一步做了什么、结果是什么。工作流要的是文字而不是文件时，名字后面写的话就交给它。

## 做一个自己的

新建工作流的入口见[修改与新建](./workflows.md)。点开后会开一场会话，输入框里已经写好了开头，接着写这件事就行，比如：

```text
做一个发票入账的工作流：我把电子发票拖进来，读出发票号码、发票代码、开票日期、销售方和金额，登记到发票台账，号码和代码都一样的不要重复登记，再按开票的月份把文件放进「发票」下面对应的文件夹。
```

写完点发送，助手会起草并保存。默认能用它的是这个空间里的人；点页面右上的头像可以看是哪些人，也可以在那里把它[开放](./workflows.md)给别的空间。

## 遇到问题

- **「运行」是灰的。** 文件还在上传，等一下就好。
- **页面上没有「运行」。** 你没有运行这个工作流的权限，去问空间的管理员。
- **提示「没法读取」某个文件。** 这是一份扫描出来的 PDF，里面没有文字，读不出字。换成电子发票的 PDF，或者把纸质发票拍成照片，拖照片进来。
- **拍照的发票读错了。** 照片是由模型来读的，模糊的数字可能读错。把台账里的号码和纸质发票对一下；拍得正一些、清楚一些读得更准。
- **新增是 0 行。** 这些发票的号码在台账里都已经有了，没有重复登记。

## 下一步

- [工作流与定时任务](./workflows.md) 运行、修改和开放一个工作流。
- [月度报销](./expenses.md) 发票之后的审批和汇总。
