|
|
@@ -200,3 +200,19 @@
|
|
|
- **FR-021**: 货到付款出餐照开;订单取消(state→4)→ 作废发票(复用 invalid)。
|
|
|
- **FR-022**: 会员发票夹——按 user_id 列出发票;纸本只展示结构化信息,不返回码图、无补打。
|
|
|
- **FR-023**: 发票信息双入口——结账时设 + 「我的发票抬头」管理(复用 014 `info_invoice`);`info_invoice` 加「是否默认」标记;默认/常用只对载具与统编抬头生效,捐赠不存。
|
|
|
+
|
|
|
+## 演进:会员载具入结账 (2026-07-30)
|
|
|
+
|
|
|
+> 业务把会员载具(载具类型 2)做上结账选项。载具号=会员手机号(结账零输入,出餐时取 `InfoUser.phone`),**不收 BuyerEmail**(业务方确认 ezPay 接受手机号作 type=2 载具值;BuyerEmail 仅用于 ezPay 发开立通知邮件,会员载具不要通知故不收)。会员载具属一般性/营业人载具,PrintFlag=N、不返回码值,客户去财政部全民稽核查(法规与载具概念见记忆 tw-einvoice-concepts)。
|
|
|
+
|
|
|
+### 增量改动(后端,已实现 2026-07-30)
|
|
|
+- `invoiceChoice` 枚举新增 `MEMBER`(原 PAPER/PHONE_BARCODE/CITIZEN/LOVE_CODE/COMPANY)。
|
|
|
+- 结账校验 `validateCheckoutInvoiceIntent`:MEMBER 免联网验真、免格式校验(载具号非客户输入)。
|
|
|
+- 捕获 `createOrder`:MEMBER → `carrierType=2` 落意图行。
|
|
|
+- 出餐自动开 `buildAutoIssueDto` + `autoIssue`:MEMBER → category=B2C、carrierType=2、载具号=会员手机号(`InfoUser.phone`)、BuyerName=手机号;同步落库载具信息。
|
|
|
+- `validateInvoiceInput`:去掉 type=2 必填邮箱(applyInvoice 补开链路同步对齐)。
|
|
|
+- `saveDefaultInvoiceProfile`:MEMBER 不存抬头(=手机号,无需记忆)。
|
|
|
+- **不需 SQL**(invoiceChoice/carrierType/carrierNum 字段已存在)。
|
|
|
+
|
|
|
+### 待办
|
|
|
+- 客户点餐 app(独立仓库,非 foodie_server)结账发票选择器加「会员载具」选项 + 4 份 i18n(zh/tw/en/vi);仓库路径待确认。
|