程式資訊
- 程式 ID:
TICKA - 所屬子系統:P.發票管理
- 狀態:stable
銷貨發票¶
功能簡介¶
「銷貨發票」是發票模組(P-Invoice)的銷項統一發票主檔。它管理一張張已配號的統一發票:先以 新增 把一段連續的發票字軌號碼批量建檔成空白發票,再逐張帶入客戶、品項與金額後存檔開立;作廢、折讓、轉開立(由應收帳款或出貨單帶入)、以及對接財政部電子發票的 CSV 匯出,都圍繞這張主檔進行。
開立發票的會計人員與負責電子發票上傳的人員會用到本表單。在流程上,它接在應收帳款(AR)/出貨單之後——通常先有應收或出貨資料,再透過本表單的延伸功能把那些單據「轉開」成正式發票;存檔後系統會回寫財務單號,與應收帳款(AR/AP 模組)串接。
本頁是「主檔」,不是空白號碼登錄視窗
新增 時跳出的「輸入發票號碼」小視窗(批量配號)是另一支程式 Ticka_m。本頁說明的是配號完成後、回到主檔逐張編輯發票內容的完整流程。
前置需求¶
- 權限:P.發票 →
H-100 銷貨發票的新增/修改/刪除/瀏覽/列印權限。延伸功能另需對應子程式權限(應收轉發票、出貨轉發票、發票匯出)。 - 基礎資料:下列主檔會影響欄位自動帶值與存檔檢核——
| 資料 | 影響什麼 |
|---|---|
| 客戶主檔(含發票地點、統一編號、稅別) | 輸入客戶代號後自動帶出簡稱/名稱/統編/地址/稅別 |
| 稅別設定(稅率) | 稅別決定稅率,連帶算出稅額與合計金額 |
| 幣別與匯率資料 | 幣別/匯率——空白時存檔自動帶本位幣、匯率 1;匯率 ≤ 0 時抓海關買入匯率 |
| 作廢原因代碼(C284) | 作廢原因下拉清單 |
| 憑證類別代碼(C2142) | 憑證類別對照說明 |
| 應收帳款/出貨單 | 延伸功能「應收轉發票」「出貨轉發票」的來源資料 |
操作步驟¶
新增(批量配號)¶
- 按工具列
新增,跳出「輸入發票號碼」視窗(Ticka_m)。 - 輸入字軌(自動轉大寫)、發票年度、發票月份、起始號碼、截止號碼、憑證類別(預設
35)。 - 按
儲存,系統會把起始~截止之間的每一個號碼建成一張空白發票,並自動算出每張的檢查號碼。 - 配號完成後回到主檔,自動定位到剛建立的第一張發票。
配號規則
- 起始號碼末兩碼應為
00或50(統一發票配賦規定);末兩碼不符時系統會跳出提示訊息,但不會阻擋配號繼續進行。 - 截止號碼必須大於起始號碼,否則擋存(截止 ≤ 起始會中止配號)。
- 發票月份若輸入偶數月,系統會自動退回前一個奇數月(統一發票以單月雙月為一期)。
修改(逐張帶入發票內容)¶
- 用工具列的查詢或上下筆移動,定位到要開立的空白發票。
- 在上方主檔區輸入 客戶代號——其餘客戶資料(簡稱/名稱/統編/地址/稅別)會自動帶出(見欄位連動與附加功能)。
- 確認 發票日期(須與發票年月同期,見下方存檔檢核)、幣別/匯率。
- 在下方明細格輸入 品號(會帶出品名)、數量、單價等。
- 存檔時系統自動計算明細與主檔的未稅/稅額/含稅金額,回填上方的銷售金額/稅額/合計金額(見存檔前的金額計算與帶值)。
作廢¶
- 定位到要作廢的發票。
- 在下方選 作廢原因(下拉 C284)。一旦選定原因,系統自動把作廢日期設為今天、課稅別改成
4.作廢。 - 存檔。作廢時系統會把該張發票的明細全部標記刪除(金額歸零)。
刪除¶
- 定位到要刪除的發票,按工具列
刪除。 - 明細列若品號空白會被視為無效列、存檔時自動移除。
列印¶
定位到要列印的發票後,按工具列 列印,可輸出統一發票格式。
延伸功能(轉開立/匯出)¶
工具列提供三個延伸功能按鈕,詳見欄位連動與附加功能:
- 應收轉發票:把應收帳款資料轉開成發票。
- 出貨轉發票:把出貨單資料轉開成發票。
- 發票匯出:把指定期間的發票匯出成財政部電子發票 CSV。
欄位說明¶
主檔(發票表頭)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 發票號碼 | ✔ | 由批量配號產生,字軌 + 8 碼(字軌自動轉大寫) |
| 發票年度/發票月份 | ✔ | 配號時帶入;偶數月自動退回前一奇數月 |
| 發票日期 | ✔ | YYYY/MM/DD;須落在發票年月或其下一個月(同一期),否則擋存 |
| 課稅別 | ✔ | 下拉 1.應稅/2.零稅/3.免稅/4.作廢/5.空白;新配號時預設 5.空白,選作廢原因會自動設為 4.作廢 |
| 憑證類別 | — | 代碼 C2142;配號時預設 35 |
| 隨機碼/檢查號碼/通關註記 | — | 電子發票欄位,唯讀(系統產生) |
| 客戶代號 | ✔ | 輸入後自動帶客戶相關資料(見連動) |
| 客戶簡稱/名稱/統一編號/地址 | — | 由客戶代號帶出;統一編號存檔必填 |
| 稅別 | — | 由客戶帶出;決定稅率 |
| 幣別 | — | 空白時存檔自動帶本位幣 |
| 匯率 | — | 空白/≤0 時存檔自動帶 1 或抓海關買入匯率 |
| 隸屬倉庫/倉單號/單號 | — | 來源單據資訊 |
| 銷售金額/稅額/合計金額 | — | 唯讀,存檔時由明細彙算 |
| 作廢日期/作廢原因 | △ | 課稅別為 4.作廢 時兩者皆必填 |
| 核准文號 | — | 作廢相關核准文號 |
| 財務單號 | — | 唯讀,系統產生;超連結可跳轉 AR 應收帳款 |
| 匯出人員/匯出時間 | — | 唯讀,CSV 匯出時系統回寫 |
明細(發票品項)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | — | 明細列序號 |
| 品號 | ✔ | 可用品號查詢(Seek);帶出品名 |
| 品名 | — | 由品號帶出 |
| 客戶品號 | — | 客戶端品號對照 |
| 數量 | ✔ | 數值 |
| 單位 | — | 下拉單位清單(UOM) |
| 單價 | ✔ | 數值 |
| 原幣未稅 | — | 數量 × 單價 |
| 客戶訂單號 | — | 對應的客戶訂單號 |
| 備註/單號 | — | 文字 |
欄位連動與附加功能¶
【本節彙整「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式碼。】
輸入客戶代號 → 自動帶客戶資料¶
當你在主檔輸入 客戶代號 並離開欄位,系統會查客戶主檔,只在對應欄位仍為空白時帶入下列資料(已有值的欄位不覆蓋):
- 客戶簡稱、客戶名稱、統一編號、地址(取客戶的「發票地點」)。
- 稅別:帶入客戶設定的稅別,並同步算出稅別說明文字。
選作廢原因 → 連動作廢日期與課稅別¶
當你在 作廢原因 下拉選定一個原因(非空白)時,系統會自動:
- 把 作廢日期 設為今天(
YYYY/MM/DD)。 - 把 課稅別 改成
4.作廢。
存檔時若課稅別為 4.作廢,作廢日期與作廢原因兩者都必填,缺一擋存。
存檔前的金額計算與帶值(HandleDataBeforeEndEdit)¶
按 存檔 時,系統在寫入前會依序處理:
- 幣別空白 → 自動帶本位幣、匯率設為 1。
- 匯率 ≤ 0 → 以發票日期向匯率表抓「海關/買入」匯率。
- 作廢日期有值 → 強制把 課稅別 設為
4.作廢。 - 課稅別為「作廢」或「空白」 → 整張發票的明細全部標記刪除(等於金額歸零的作廢/空白發票);其他課稅別則只刪除「品號空白」的明細列。
- 把主檔的 發票號碼/發票日期/隸屬倉庫/單號/客戶代號 同步寫到每一筆明細。
- 以主檔稅別取得稅率,呼叫稅額計算,算出明細的未稅/稅額/含稅,並彙總回主檔的 銷售金額/稅額/合計金額。
存檔檢核(AllowSave)¶
存檔時除上述計算外,還會逐項檢查,任一不符即擋存並提示:
- 客戶代號不可空白。
- 統一編號不可空白。
- 發票日期不可空白。
- 發票日期必須與發票年月同期——開頭須為
年度/月份或年度/(月份+1)(容許同一統一發票期別的單月與雙月),否則提示日期格式錯誤。 - 課稅別為作廢時,作廢日期與作廢原因必填。
移動到另一張發票(AfterMoverRecord)¶
每次切換到不同發票時,系統會:
- 以財務單號反查應收主檔(Rp_m)的 pkid,供財務單號欄位的超連結跳轉至 AR 應收帳款。
- 重新整理上方的稅別說明文字。
延伸功能 1:應收轉發票(ExtendedFunction1)¶
開啟「應收轉發票」視窗(Ticka_ar)。你可依發票年度/月份/日期查詢尚未開立發票的應收資料,勾選後按轉開,系統會把選中的應收資料產生成發票,並把游標帶到新產生的那張發票。視窗會顯示已鎖定(已轉過)的筆數提示。
延伸功能 2:出貨轉發票(ExtendedFunction2)¶
開啟「出貨轉發票」視窗(Ticka_shipping)。可指定倉庫與發票年月/日期,查詢出貨單並勾選轉開成發票,完成後同樣把游標帶到新發票。
延伸功能 3:發票匯出(ExtendedFunction3)¶
開啟「發票匯出」視窗(Ticka_export)。輸入起訖日期後查詢、產生財政部電子發票上傳用的 CSV 檔;另有 僅匯出作廢及折讓 按鈕,可單獨匯出作廢與折讓資料。匯出後系統會回寫主檔的匯出人員/匯出時間。匯出完成回到主檔會重新整理畫面。
折讓單另有專屬表單
本表單只開立統一發票主檔與其作廢。折讓單的開立與沖抵請見 Ticka_disc 銷貨折讓;折讓金額會回寫到本發票的「已折讓金額/已折讓稅額」。
常見問題¶
新增時一直提示「起始號碼 末兩碼 需為00或50」?
統一發票配賦規定,一段字軌的起始號碼末兩碼通常是 00 或 50。這個提示只是警示,不會阻擋配號(按掉提示後仍會依輸入的起始~截止號碼建檔);但仍建議把起始號碼調整成符合配號段的開頭,避免號碼錯置。真正會擋存的是截止號碼必須大於起始號碼——截止 ≤ 起始時會中止配號。
存檔時提示發票日期格式錯誤?
發票日期必須與發票年度/月份屬於同一統一發票期別——日期開頭必須是 年度/月份 或 年度/(月份+1)。例如 7-8 月期的發票,日期須以 年度/07 或 年度/08 開頭。請確認年月與日期一致。
客戶代號輸入後,簡稱/統編沒有帶出來?
自動帶值只在欄位為空白時才填入,已有值的欄位不會被覆蓋。若你之前手動改過簡稱或統編,系統就不會再蓋掉它。要重新帶值請先清空該欄。另外請確認該客戶代號在客戶主檔存在且有維護發票地點/統編。
銷售金額/稅額/合計金額是 0 或沒更新?
這三個欄位是唯讀、存檔時才由明細彙算的。請確認:明細列有品號、數量、單價;主檔稅別已帶入(稅額由稅別對應的稅率計算)。改完明細要重新存檔才會重算。
為什麼把發票改成作廢後,明細金額全沒了?
這是設計行為:當課稅別為「作廢」或「空白」時,系統存檔前會把整張發票的明細標記刪除,使作廢/空白發票金額歸零。作廢請務必同時填作廢日期與作廢原因(選原因會自動帶日期與課稅別)。
找不到要轉開的應收/出貨資料?
延伸功能的轉開以「尚未開立發票」的資料為來源。已經轉過的資料會列在視窗的鎖定(已鎖定筆數)區而非可選清單。請確認來源單據存在、且查詢的發票年月/日期條件正確。
相關功能¶
需補截圖清單
以下截圖待 runtime 驗收後補拍(放 docs/P-Invoice/images/):
ticka-step1.png— 主檔整體畫面(表頭 + 明細格 + 金額區)ticka-step2.png— 「輸入發票號碼」批量配號視窗ticka-step3.png— 作廢欄位(作廢原因/作廢日期)ticka-step4.png— 應收/出貨轉發票延伸功能視窗ticka-step5.png— 發票匯出(電子發票 CSV)視窗