API: Journal Entry – Clearing (Asynchronous) 問題請教

3 months ago 34

首先於SAP介面上建立客戶發票(DR),建立後取得日記帳分錄為1800000008

viclin_1-1722304439705.png

接著欲使用API「Journal Entry – Clearing (Asynchronous)」達成類似在「過帳收款」頁面的沖帳行為,將部分金額11000結清轉入銀存11030002:

viclin_2-1722304556300.png

這邊先簡單化,先不考慮手續費問題:

viclin_3-1722304613723.png使用官方文件 的Sample Payload for Partial Clearing,參數改成目前測試環境的。

viclin_4-1722304735335.png

viclin_5-1722304803441.png

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfin="http://sap.com/xi/SAPSCORE/SFIN"> <soapenv:Header/> <soapenv:Body> <sfin:JournalEntryBulkClearingRequest> <MessageHeader> <ID>MSG_20240715_Partial</ID> <CreationDateTime>2024-07-15T11:00:00.1234567Z</CreationDateTime> <TestDataIndicator>false</TestDataIndicator> </MessageHeader> <JournalEntryClearingRequest> <MessageHeader> <ID>MSG_20240715_01</ID> <CreationDateTime>2024-07-15T11:00:00.1234567Z</CreationDateTime> <TestDataIndicator/> </MessageHeader> <JournalEntry> <CompanyCode>FIVE</CompanyCode> <AccountingDocumentType>DZ</AccountingDocumentType> <DocumentDate>2024-07-15</DocumentDate> <PostingDate>2024-07-15</PostingDate> <CurrencyCode>TWD</CurrencyCode> <DocumentHeaderText>Clearing API</DocumentHeaderText> <CreatedByUser>5STAR API</CreatedByUser> <APARItems> <ReferenceDocumentItem>2</ReferenceDocumentItem> <CompanyCode>FIVE</CompanyCode> <AccountType>D</AccountType> <APARAccount>1000000</APARAccount> <FiscalYear>2024</FiscalYear> <AccountingDocument>1800000008</AccountingDocument> <AccountingDocumentItem>1</AccountingDocumentItem> <PartialPaymentAmtInDspCrcy currencyCode="TWD">11000</PartialPaymentAmtInDspCrcy> </APARItems> </JournalEntry> </JournalEntryClearingRequest> </sfin:JournalEntryBulkClearingRequest> </soapenv:Body> </soapenv:Envelope>

API回傳錯誤訊息如下: 「交易貨幣 TWD  11,000 中的餘額過大無法自動更正

viclin_6-1722305018403.png

此問題我認為是沒帶入銀存account,所以修改一下參數,加入GLItems 將銀行總帳科目帶入。

viclin_7-1722305068777.png

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfin="http://sap.com/xi/SAPSCORE/SFIN"> <soapenv:Header/> <soapenv:Body> <sfin:JournalEntryBulkClearingRequest> <MessageHeader> <ID>MSG_20240715_Partial</ID> <CreationDateTime>2024-07-15T11:00:00.1234567Z</CreationDateTime> <TestDataIndicator>false</TestDataIndicator> </MessageHeader> <JournalEntryClearingRequest> <MessageHeader> <ID>MSG_20240715_01</ID> <CreationDateTime>2024-07-15T11:00:00.1234567Z</CreationDateTime> <TestDataIndicator/> </MessageHeader> <JournalEntry> <CompanyCode>FIVE</CompanyCode> <AccountingDocumentType>DZ</AccountingDocumentType> <DocumentDate>2024-07-15</DocumentDate> <PostingDate>2024-07-15</PostingDate> <CurrencyCode>TWD</CurrencyCode> <DocumentHeaderText>Clearing API</DocumentHeaderText> <CreatedByUser>5STAR API</CreatedByUser> <GLItems> <ReferenceDocumentItem>1</ReferenceDocumentItem> <CompanyCode>FIVE</CompanyCode> <GLAccount>11030002</GLAccount> <FiscalYear>2024</FiscalYear> <AccountingDocument>1800000008</AccountingDocument> <AccountingDocumentItem>1</AccountingDocumentItem> </GLItems> <APARItems> <ReferenceDocumentItem>2</ReferenceDocumentItem> <CompanyCode>FIVE</CompanyCode> <AccountType>D</AccountType> <APARAccount>1000000</APARAccount> <FiscalYear>2024</FiscalYear> <AccountingDocument>1800000008</AccountingDocument> <AccountingDocumentItem>1</AccountingDocumentItem> <PartialPaymentAmtInDspCrcy currencyCode="TWD">11000</PartialPaymentAmtInDspCrcy> </APARItems> </JournalEntry> </JournalEntryClearingRequest> </sfin:JournalEntryBulkClearingRequest> </soapenv:Body> </soapenv:Envelope>

先不考慮GLItems沒有提供Amount欄位可以輸入金額的問題,我以為她會將DR的11000自動帶入借方銀存科目。

結果得到如下錯誤訊息: 帳戶0011030002中沒有未結項目的管理

viclin_8-1722305137969.png

問題總結:

  • 今年3月/5月/7月, Journal Entry – Clearing (Asynchronous) 這支API於SAP community中陸續都有人發問相關問題,因此想釐清一下,目前這支API的情況。
  • 請問這支API是本來就不支援過帳收款(DZ)結清客戶發票(DR)的嗎? 還是有什麼設定要做? 或使用方式不對?
  • 請問過帳收款(沖帳)是否有其他備案? 如Excel匯入沖帳。 因為供應商發票是可以透過excel匯入的,若過帳收款也可以,也不一定要走API。
  • 因為我們沖帳帳務資料龐大,未來不太可能手動逐筆結清。

SAP Community 相關問題連結:

  • 目前沒看到官方有正式回覆

以下補充實際需求,需考慮手續費問題:

Read Entire Article