{"id":25824,"plugin_id":"plugin_asdk_app_6abd0fee216c819191349465958a49d5","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-02T00:28:52.472Z","digest":"78b81f9517aeca906ac1ec320a109fd750c356fdbfefb621207f052c92f0fa6b","against":null,"payload":{"name":"document-submission","description":"Submit a bill, receipt, bank statement or supplier statement to a Briefcase client, choosing between direct upload, a browser upload link and the client's forwarding email, then track processing to the resulting transaction. Use when the user shares a document or asks to upload, send or file something into Briefcase.","included_files":[],"skill_md_contents":"---\nname: document-submission\ndescription: Submit a bill, receipt, bank statement or supplier statement to a Briefcase client, choosing between direct upload, a browser upload link and the client's forwarding email, then track processing to the resulting transaction. Use when the user shares a document or asks to upload, send or file something into Briefcase.\n---\n\n# Submitting documents to Briefcase\n\n## Choose the client\n\nResolve the client with `briefcase_list_clients` and confirm it with the user when the name is ambiguous. Ask for a business or property only when the client has more than one (`briefcase_get_reference_data` with `kind: businesses` or `properties`).\n\n## Prepare the upload\n\nCall `briefcase_create_document_upload` with the file name, MIME type, size if known, and the user's note (for example \"Pay from the deposit account\" or \"Split 60/40 with the Manchester office\"). The response gives three routes:\n\n1. **You can transfer the file.** `PUT` the original bytes to `upload_url` with the returned headers, then call `briefcase_submit_document` with the `upload_id` and a fresh `idempotency_key`.\n2. **You cannot transfer the file.** Give the user `browser_upload_url`. They open it, sign in, check the client and note, choose the file and press Upload. The link expires after one hour and only accepts the prepared file type.\n3. **Email.** Give the user `forwarding_email` and tell them to put the note in the email body.\n\nNever fabricate file contents and never submit a file the user did not provide.\n\n## Track processing\n\n`briefcase_submit_document` returns an operation. Poll `briefcase_get_operation` no more than once every few seconds until it reaches a final state, then report:\n\n- the transaction, bank statement or supplier statement that was created, with its status;\n- an archive as duplicate or not-a-transaction, with the reason;\n- a failure, with the message, and suggest re-uploading a clearer copy.\n\nOn Autopilot clients a submitted document may publish automatically. Say so before submitting when `briefcase_get_client` shows Autopilot is on.\n\n## Retries and refusals\n\nRetry a failed `briefcase_submit_document` with the same `idempotency_key`; Briefcase will not create a second candidate. A `FORBIDDEN` result means the user cannot upload for this client or assistant changes are paused. `VALIDATION_ERROR` on file type or size means the document must go through the app or email instead.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}