Journal Entry Attachments
The Attachment Object
A Rutter Journal Entry Attachment represents a file that can be attached to a journal entry. In general we provide attachments data only for attachments that have been created through our POST endpoint. However, there are some platform specific differences.
Platform Differences
Netsuite:
- For POSTs, we will programmatically create a folder in the end user’s Netsuite instance titled “Upload Attachments (DO NOT DELETE)”— please notify the end user not to delete this folder, as all attachments uploaded through our API will be stored here.
- There is a 1:1 relationship for attachments and entities. If you would like the same attachment to be attached to multiple different entities (ie the same receipt attached to a bill and an expense), please make multiple POSTs and we will create duplicates of the file content in the “Upload Attachments (DO NOT DELETE)” folder. The Rutter Id’s and links to download file content will be unique.
Properties
idstringThe Rutter ID of the attachment. This can be the same as the Platform ID. This ID is not guaranteed to be unique across all attachment objects for a connection.
platform_idstringThe platform specific ID of the attachment.
attached_to_idstringnullableThe Rutter ID of the entity linked to the attachment.
file_namestringThe file name of the attachment.
file_urlstringThe Rutter generated URL containing a downloadable version of the attachment.
attached_to_typestringnullableThe type of entity linked to the attachment.
created_atstringThe ISO 8601 timestamp that the attachment was created.
Note: The following platforms dont't support this field, and may return an empty string:
- Xero
Fetch a Journal Entry Attachment
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the attachment.
access_tokenstringqueryRequiredThe access token of the connection.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
List Attachments for a Journal Entry
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object that has the attachment.
access_tokenstringqueryRequiredThe access token of the connection.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "attachments": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "12345678",
6 "attached_to_id": "00000000-0000-0000-0000-000000000000",
7 "file_name": "attachment.pdf",
8 "file_url": "/accounting/journal_entries/00000000-0000-0000-0000-000000000000/attachments/00000000-0000-0000-0000-000000000000/file",
9 "attached_to_type": "JOURNAL_ENTRY",
10 "created_at": "2023-01-02T02:34:56.000Z"
11 }
12 ]
13}
Download a Journal Entry
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the object that has the attachment.
attachmentIdstringpathRequiredThe platform unique ID of the attachment.
access_tokenstringqueryRequiredThe access token of the connection.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
Create a Journal Entry Attachment
For this endpoint, the request body is not application/json, it is multipart/form-data.
Request Parameters
idstringpathRequiredThe Rutter generated unique ID of the underlying entity type.
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
filestringThe file content (PDF, JPG, CSV, TXT, etc).
file_namestringThe file name of the attachment.
Response Body
1{
2 "file": "multipart/form-data",
3 "file_name": "T-shirt Receipt"
4}
1{
2 "attachment": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "attached_to_id": "00000000-0000-0000-0000-000000000000",
6 "file_name": "receipt.jpg",
7 "file_url": "https://rutteraccountingattachments.s3.amazonaws.com/00000000-0000-0000-0000-000000000000-receipt.jpg",
8 "attached_to_type": "EXPENSE",
9 "created_at": "2023-01-02T02:34:56.000Z"
10 }
11}
Have questions?
Contact support for personalized guidance.