Service - Journal: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = A journal entry is a single transaction, each journal entry will have credit and debit entries that add up to each other and match the functionalCurrencyAmount. = Repository = ... = Object Schemas = ; Additional Information: Per Service Schemas == organization == <syntaxhighlight lang="JavaScript"> { objectType: "journal", canDelete: false, belongTo: { serviceTag: "user", objectType: "user" }, addOnDataStructure: [ type: "propertyValue"...") |
No edit summary |
||
| Line 17: | Line 17: | ||
canDelete: false, | canDelete: false, | ||
belongTo: { | belongTo: { | ||
serviceTag: " | serviceTag: "Organization", | ||
objectType: " | objectType: "organization" | ||
}, | }, | ||
addOnDataStructure: [ | addOnDataStructure: [ | ||
Revision as of 01:22, 5 January 2026
Overview
A journal entry is a single transaction, each journal entry will have credit and debit entries that add up to each other and match the functionalCurrencyAmount.
Repository
...
Object Schemas
- Additional Information
- Per Service Schemas
organization
{
objectType: "journal",
canDelete: false,
belongTo: {
serviceTag: "Organization",
objectType: "organization"
},
addOnDataStructure: [
type: "propertyValue"
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
},
"dynamo": {
"storageType": "dynamoDB",
"tableName": "entry",
}
},
fieldNames: {
journalId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph']
},
amount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
amountCurrency: {
type: "currency",
storageResourceTags: ['myGraph']
},
functionalCurrencyAmount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
exchangeRate: {
type: "number",
storageResourceTags: ['myGraph']
},
accountingStatus: { // "open"|"processing"|"locked"
type: "string",
storageResourceTags: ['dynamo']
},
},
identifiers: [
{
type: "identifier",
fieldName: "journalId"
}
]
}
- maybe add accountingStatus, same as entry, so can check if journal can be adjusted, or perhaps only journals because entries cannot be changed directly
Relationships
- probably need relationship to organization that owns the entry, because will be floating initially (until entries connect to accounts)
- maybe adjust relationship to organization according to open or locked status, to make it easier to see which journals are awaiting processing end of period?