---
# System prepended metadata

title: 報表上傳和比對

---

## 報表上傳
- 旺哥會上傳報表，把上傳結果整理到 "Status_Report_{日期}.xlsx" 提供給後端，後端再檢查是否所有報表都上傳成功。

- 最近有遇到的錯誤是 "The file {報表名稱} has been uploaded before."，因為是平台補資料，所以旺哥修改檔名後重新上傳，如 "KKBOX_202102_TW_TW_詞曲_公開傳輸_公開傳輸_匯入格式_TWD(補2).xlsx"。

- 報表上傳會依據檔名的格式自動填入報表上傳頁的資料，也可手動填寫。

- 報表上傳 API：/api/v1/StatementImport 上傳 Xlsx 報表檔案。

- 報表上傳成功後，會把上傳的資料儲存至 IncomeStatementRawHeader、IncomeStatementRawRow、IncomeStatementRow 這三個table裡。

- 報表上傳成功後，不會自動比對，需要手動比對報表。

- IncomeStatement: 儲存報表上傳頁所填的資料。

- IncomeStatementRawHeader: 存放所上傳之報表的類別。

- IncomeStatementRawRow: 存放報表上傳的所有欄位資料。

- IncomeStatementRow: 存放報表上傳的特定欄位資料。

## 報表比對
- 確認所有報表都上傳成功後，可以由後端批次執行報表比對，都成功後再通知旺哥。

- 比對需要手動呼叫API做比對，系統不會自動比對。

- 報表比對 API：/api/v1/StatementImport/{statementId} 確認報表狀態與資料

- 單筆報表比對 API：/api/v1/StatementImport/Review/{statementId} 執行單筆報表比對

- 一次比對全部 API: /api/v1/StatementImport/ReviewAll


- 報表時間比對：
報表上傳時所填的時間，必須要在要比對的著作的時間區間內，才會比對得到，不然會找不到著作。

- ST著作的比對：
如果報表跑的是著作ST的話，報表比對會先去抓所有相關聯合約的OT著作權利和ST著作權利，然後會再排除非此次著作(ST)的權利，然後取得的著作權利會再去跟報表權利做比對，如果比例不符，就會報"版權比例不符"的錯誤。OT為共創的ST著作也適用此比對。


```
報表如果有錯誤 修正操作務必在前端修正
```

## 報表匯入確認
- 單筆匯入確認 API：/api/v1/StatementImport/Confirm/{statementId:int} 

- 整批匯入確認 API：/api/v1/StatementImport/ConfirmByBatchNo/{batchNo:guid?}
```
這邊匯入確認完成以後 就可以在前端平台到帳查詢跟確認到帳
 ```

## 報表狀態 (IncomeStatementStatus)

- 資料已讀取並儲存，尚未驗證完成 NotChecked = 1

- 尚有錯誤 StillErrors = 2

- 資料驗證完成，尚未匯入 ( Raw Data 驗證完成，待轉換成版稅紀錄) Checked = 3

- 資料匯入完成 ImportCompleted = 4

## 報表列狀態 (IncomeStatementRowStatus)

- 待比對 NotChecked = 1

- 不合法資料無法比對 IllegalData = 2

- 找不到對應著作 UnMatched = 3

- 找到多筆著作 MultipleMatch = 4

- 找到著作，但找不到授權資料 Matched = 5

- 找到著作，但版權比例不符 MatchedThenPercentageError = 6

- 已找到著作授權資料 Licensed = 7

- 資料驗證完成，尚未預覽 Checked = 8

- 已產生預覽版稅 Previewed = 9

- 報表行匯入完成 ImportCompleted = 10


### 報表預覽作用
    
preview 會產生預覽版稅
建立一筆 IncomeStatementRoyalty
記錄版稅跟 報表的關係

報表確認的時候會需要用預覽版稅帶入
所以才需要先執行預覽才可以確認
    
*IncomeStatementRoyalty 報表版稅預覽 IncomeStatementId 跟 RoyaltyRecordId 關聯在這裡 從這邊查報表比對後產生的版稅記錄