What the documents look like
Producer export tax processes combine domestic-sales offset with export refund in one calculation. Monthly filing requires collecting self-produced export amounts and handling FOB price differences. Errors produce incorrect tax amounts, refund reductions, or filing corrections. Data sources include the electronic tax bureau, ERP sales, customs electronic information, and financial ledgers. Routine documents are the exemption-offset-refund filing detail table, export contracts, sales detail ledgers, and export customs declarations.
For conversation logs and audit work, this means a log entry must map to a specific session and a specific dialogue. Identity fields and business records are checked separately by chatId and dataId. Sessions created through different entry points are not combined into one total.
Constraints at the conversation logs step
The chat interface uses APIKey authentication, and passing body.appId in the request body is recommended. The appId priority order is body.appId, then <apiKey>-<appId>, then the appId associated with the apikey. Proxying a team member identity through authProxy requires the team owner to enable it when creating or editing that key, and the proxied identity still needs permission on the target application and session. When chatId is a non-empty string, the session is read from the FastGPT database, the last item in the messages array is used as the user question, and the remaining messages are ignored. responseChatItemId must be unique under the current chatId. Intermediate values are obtained by setting detail according to the contract; in non-stream mode the result is stored in responseData. A session list can use source=api to return only sessions created through the API, and clearing application sessions clears only sessions created through the API Key. The presence of a log does not by itself complete a compliance audit; reconciliation, retention, and compliance requirements are handled by the full business solution separately.
Hypothetical paper exercise sample: a tax accountant at an export producer handles a handover during the July 2025 filing period. The source text reads: "Exemption-offset-refund filing detail table (period June 2025), row 3: export sales amount 1,200,000 yuan, non-exempt and non-deductible amount 48,000 yuan," and "Export contract HT-2025-06 specifies FOB price 1,200,000 yuan, customs declaration number 202506180001." The proposed draft sentence is: "This session has confirmed the exemption-offset-refund amount for this export transaction and it can be used directly for filing." That sentence treats a conversation record as a business confirmation, and whether authorization supports it remains to be judged.
Configuration and implementation checks
| Configuration item | Purpose on this page | Check method |
|---|---|---|
| body.appId | Specify the target application | Compare character by character with the target application ID |
| chatId | Locate this handover session | Confirm it is non-empty and corresponds to the business record |
| responseChatItemId | Mark this response message | Confirm uniqueness under the current chatId |
| detail | Obtain intermediate run values | Inspect responseData fields against the contract |
| source=api | Filter sessions created through the API | Compare with the source returned in the session list |
| authProxy | Proxy a team member identity | Confirm it is enabled and the identity holds session permission |
Hypothetical starting point for this exercise: send one request with detail=true and stream=false. The reason is to allow field-by-field inspection of responseData, and this is compared against the event-separated result of stream=true.
Three common errors
- Treating messages content that is ignored when chatId is non-empty as the current question. Check the input messages array against the returned query field, and observe which one is actually used.
- Assuming business fields not returned in responseData have been fully retained. Check the field names actually present in the returned object, and record missing fields as unsupported.
- Treating similarity or score as a permission or entity filter. Check the dataset_id of the returned quoteList against the target scope, and confirm that similarity does not carry authorization judgment.
How to verify the setup
- Input the sample source text and the proposed draft sentence, compare the draft phrase "has confirmed the exemption-offset-refund amount" against the sales amount and non-exempt non-deductible amount fields that the material actually contains, and observe whether confirmation evidence exists for the same entity, same period, and same field. When no confirmation field appears, record it as unsupported.
- Input chatId and responseChatItemId, compare whether a duplicate exists under the same chatId, and observe whether the response ID is accepted. When a duplicate appears, record it as pending verification and do not assume automatic deduplication.
- Input the session list request with source=api, compare the chatId values in the returned list against the target handover session, and observe whether the target session falls within the API source. When it does not, record an entry-point mismatch and do not conclude that permission is missing on that basis.