> For the complete documentation index, see [llms.txt](https://support.bridge-funeral.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.bridge-funeral.com/nori/10-slip-editor-deep-dive.md).

# 伝票エディタを使いこなす｜行操作・割引計算・履歴管理

伝票エディタは、ブリッジ葬儀の中でもっとも使う頻度が高い画面です。一見すると単なる Excel ライクな表に見えますが、実は **「行の履歴(Undo/Redo)」「4 値連動の自動計算」「税額の自動集計」「行のグルーピング」** など、業務効率を上げる仕組みがたくさん組み込まれています。ここでは画面の各機能を 1 つずつ解説します。

## 画面構成のおさらい

伝票エディタは大きく **4 つの領域** に分かれています。

1. **カードヘッダー** — 価格マスタ (価格タイプ) の切替、仕入モードでは仕入先の切替
2. **ツールバー** — Undo / Redo、上下移動、行コピー / 削除、商品追加、行追加
3. **明細グリッド** — 行ごとの明細編集 (Excel ライク)
4. **合計サマリ** — 割引前合計・割引額・税率別小計・税額・税込合計

> 伝票がロック (確定済み) されている場合は、上部に **「伝票がロックされています」** メッセージが出て、編集ボタンがすべて無効化されます。

## ツールバーの全機能

| ボタン             | 機能           | キーボード         |
| --------------- | ------------ | ------------- |
| **元に戻す (Undo)** | 直前の操作を取り消す   | (履歴最大 50 回)   |
| **やり直す (Redo)** | 取り消した操作をやり直す |               |
| **上へ移動**        | 選択行を 1 つ上へ   | (行を選択した時のみ表示) |
| **下へ移動**        | 選択行を 1 つ下へ   |               |
| **行コピー**        | 選択行を複製       |               |
| **行削除**         | 選択行を削除       |               |
| **商品追加**        | 商品検索モーダルを起動  |               |
| **行追加**         | 空の行を追加       |               |

> Undo / Redo は **最大 50 回まで** さかのぼれます。誤って削除した行も、保存前なら Undo で戻せます。

## 行の操作: 「選択」と「並べ替え」

### チェックボックスで複数行を選択

各行頭にチェックボックスがあります。チェックすると以下のことができるようになります:

* **上下移動** で複数行をまとめて移動
* **行コピー** で同じ内容を 1 つ下に複製
* **行削除** で一括削除

### ドラッグ&ドロップで並べ替え

行をつかんでドラッグすると、別の位置に移動できます。複数行を選択している場合は、まとまって移動します。

> 並べ替えた結果は、**画面下の「保存」ボタンを押すまで** 確定しません。誤って並べ替えても、保存前なら Undo か画面再読み込みで戻せます。

## 4 値連動 — 割引計算の仕組み

伝票エディタの最大の便利機能が、**「定価 / 割引率 / 割引額 / 提供価格」の 4 値が連動する** ことです。担当者はこのうち **どれか 1 つを編集するだけ** で、残り 3 つが自動計算されます。

### 例: 定価 ¥100,000 の商品に「3 万円割引」したい

1. 定価セル: `100,000` (既に入っている)
2. **割引額セル** に `30000` と入力 → Enter
3. 自動的に:
   * 割引率: `30%`
   * 提供価格: `70,000`
4. 数量に `1` を入れる → 行の金額が `70,000` 円

### 例: 「20% 引きにしたい」

1. **割引率セル** に `20` と入力
2. 自動的に:
   * 割引額: `20,000`
   * 提供価格: `80,000`

### 例: 「最終的に 75,000 円で出したい」

1. **提供価格セル** に `75000` と入力
2. 自動的に:
   * 割引額: `25,000`
   * 割引率: `25%`

> **どこから値が入ってもツジツマが合うように設計** されています。経理視点で見ても、税抜金額・割引額・割引率が整合した状態で保存されます。

### 端数処理は伝票ヘッダの設定に従う

割引額の端数処理 (切り上げ / 切り捨て / 四捨五入) は、**伝票ヘッダの「小数点処理」項目** で決まります。同じ「30%」でも、端数を切り上げるか切り捨てるかで割引額が 1 円ズレることがあります。

## 税額の自動計算

明細を入れていくと、合計サマリに以下が自動表示されます。

### 表示される情報

* **割引前合計** — 定価ベースの合計
* **割引額** — 全行の割引額の合計
* **税抜き合計** — 割引後の合計 (税抜)
* **税率別の小計** — 10% / 軽減 8% / 5% / 3% / 非課税 / 非課 ごと
* **税率別の税額**
* **税込合計**

### インボイス制度に準拠した端数処理

税額は **税率ごとに 1 回だけ丸める** 方式 (適格請求書発行事業者として国税庁ガイドラインに準拠) です。行ごとに丸めて合算すると 1 円ズレることがあるため、本パッケージは **税率ごとに小計を出してから税額計算** をしています。

> 担当者が個別に税額を計算する必要はありません。複雑な税率改定 (8%→10% など) があっても、税率マスタを参照して再計算してくれます。

## 外税 / 内税の切替

伝票ヘッダの **「税表示区分」** で外税 / 内税を切り替えられます。

* **外税** — 単価は税抜、税額は別途加算
* **内税** — 単価は税込、内訳として税額を抜き出す

切替を行うと、合計サマリの計算方法が即座に変わります。

## 行のグルーピング (請求書集計区分)

伝票明細には「**請求書集計区分**」という項目があります。これは、請求書 PDF を出すときに **同じ集計区分の行をまとめてグルーピング** する仕組みです。

例:

* 集計区分 `祭壇関係` の行 → 「祭壇関係 ¥350,000」と 1 行に集約
* 集計区分 `料理` の行 → 「料理 ¥120,000」と 1 行に集約

> 集計区分は商品マスタ側で予め設定されています (管理者が運用)。担当者は意識せずに明細を入れていけば、PDF 出力時に自動でまとめてくれます。

## 価格タイプ (価格マスタ) を切り替える

カードヘッダ右上の **「価格マスタ」** プルダウンで、伝票全体に適用する価格タイプを切り替えられます。

### 切替したときの動き

* 既に追加されている **既存の明細の単価は変わりません** (手動で再追加する必要あり)
* **新規に追加する商品** は、新しい価格タイプで取得されます
* 商品検索モーダルにも、新しい価格タイプの単価が表示されます

> 「途中で会員価格に切り替えたい」場合は、伝票エディタで既存行を一旦削除して、商品検索モーダルから再追加するのが確実です。

### 仕入モード (発注伝票) の特殊な切替

発注伝票 (レコードタイプ: 発注) では、価格マスタの代わりに **「仕入先」プルダウン** が表示されます。仕入先 (家族 / 会社) を選ぶと、その仕入先専用の単価が引かれるようになります。

## 行の追加方法 (3 通り)

明細を追加する方法は 3 つあり、使い分けます。

| 方法            | 特徴                | 向いている場面           |
| ------------- | ----------------- | ----------------- |
| **「商品追加」ボタン** | 商品検索モーダルで複数選択     | カタログから選びたい (推奨)   |
| **「行追加」ボタン**  | 空の行を 1 つ追加 → 手動入力 | カタログにない商品を直接入力    |
| **「行コピー」ボタン** | 既存行を複製            | 同じ商品を数量違いで複数行入れたい |

## 行ごとに編集できる列

| 列       | 編集できる?  | メモ                                                                                                   |
| ------- | ------- | ---------------------------------------------------------------------------------------------------- |
| 品名      | ◯       | 商品マスタの名前を上書きできる                                                                                      |
| 規格      | ◯ (表示時) | App Builder で非表示にもできる                                                                                |
| 数量      | ◯       | 整数                                                                                                   |
| 定価      | ◯       | 4 値連動の起点                                                                                             |
| 割引率 (%) | ◯       | 4 値連動                                                                                                |
| 割引額     | ◯       | 4 値連動                                                                                                |
| 提供価格    | ◯       | 4 値連動                                                                                                |
| 税率      | ◯       | プルダウンで選択 (略称 `TaxRate.ShortName__c` 表示 — 例: `課10` `軽8` `非課` 等。略称未設定なら正式名にフォールバック。App Builder で絞り込み可) |
| 備考 1    | ◯       | App Builder で割当項目を切替可                                                                                |
| 備考 2    | ◯       | App Builder で割当項目を切替可                                                                                |
| 金額      | ✗       | 自動計算 (提供価格 × 数量)                                                                                     |

## 「保存」を押したら何が起きるか

保存ボタンを押すと、以下が裏で動きます。

1. **伝票明細を一括保存** (新規 / 更新 / 削除をまとめて DML)
2. **行番号の自動振り直し** (`10, 20, 30, ...`)
3. **`SlipDetailAmountTrigger`** が動き、親伝票の **税額・合計** を再計算
4. **`UpdateSetProducts` Flow** が動き、セット商品が指定されていれば子明細を自動コピー

> 保存後、合計サマリの数字がチラっと更新されるのは、上記の再計算が完了したタイミングです。

## こんなときは

### 1 行だけ削除したい

行頭のチェックボックスをオン → 「行削除」ボタン。または、Undo 範囲内であれば誤削除も戻せます。

### 並び順を変えたのに保存できない

ドラッグ&ドロップで並べ替えた後、**画面下の「保存」ボタン** を必ず押してください。並び替えだけは自動保存されません。

### 「コピー」と「行コピー」の違い

ツールバーの **「行コピー」** ボタンは、選択行を真下に複製します。OS の Ctrl+C ではありません。

### 「行のチェックボックス」が出てこない

ツールバーは行を選択している間だけ追加ボタンが出ます。何も選択していない時は **商品追加 / 行追加** のみ表示されます。

### 同じ商品を 10 個入れたい (数量 10)

商品検索モーダルで該当商品を 1 度だけ選び、追加された行の **数量セル** に `10` と入力。複数行に分ける必要はありません。

### 同じ商品を 10 行に分けたい (数量 1 を 10 行)

商品検索モーダルで該当商品にチェック → 「行コピー」ボタンを 10 回。または、商品検索モーダルの「複数選択」を使って一度に追加 (商品検索モーダルガイド参照)。

### 並び替えがおかしい (数字がバラバラ)

明細には **「行番号 (SortOrder)」** という項目があり、これは保存時に `10, 20, 30, ...` で自動採番されます。直接編集できる場面は通常ありません。

## 次に進む

* [商品検索モーダルを使いこなす](https://github.com/thinkeight/bridge-cms/blob/main/README.md) — 商品追加の詳しい使い方
* [見積から請求書・領収書を作る](https://github.com/thinkeight/bridge-cms/blob/main/README.md) — 確定後の流れ
* [裏で自動で動く処理を知る](https://github.com/thinkeight/bridge-cms/blob/main/README.md) — 伝票保存時に裏で起きている処理の全体像

***

📅 最終更新日: 2026-06-16


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.bridge-funeral.com/nori/10-slip-editor-deep-dive.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
