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 |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
A journal entry is a single transaction, each journal entry will have credit and debit entries | A journal entry is a single transaction, each journal entry will have credit and debit entries, it may have multiple credit and debit entries but the total credits must equal the total debits. | ||
= Repository = | = Repository = | ||
| Line 17: | Line 17: | ||
canDelete: false, | canDelete: false, | ||
belongTo: { | belongTo: { | ||
serviceTag: " | serviceTag: "Organization", | ||
objectType: " | objectType: "organization" | ||
}, | }, | ||
addOnDataStructure: [ | addOnDataStructure: [ | ||
type: "propertyValue" | { | ||
type: "propertyValue" | |||
}, | |||
{ | |||
type:"versionedData", | |||
versionedDataLabel: "journalDetail", | |||
storageResourceTag : "myGraph", | |||
fieldNames: { | |||
timestamp: { | |||
type: "timestamp", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
amount: { | |||
type: "currencyValue", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
amountCurrency: { | |||
type: "currency", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
functionalCurrencyAmount: { | |||
type: "currencyValue", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
exchangeRate: { | |||
type: "number", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
}, | |||
}, | |||
], | ], | ||
storageResources: { | storageResources: { | ||
| Line 37: | Line 66: | ||
type: "string", | type: "string", | ||
randomOnCreate: true, | randomOnCreate: true, | ||
storageResourceTags: ['myGraph' | storageResourceTags: ['myGraph','dynamo'] | ||
}, | }, | ||
accountingStatus: { // "open"|"processing"|"locked" | accountingStatus: { // "open"|"processing"|"locked" | ||
| Line 68: | Line 81: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Relationships == | == Relationships == | ||
Latest revision as of 12:33, 4 May 2026
Overview
A journal entry is a single transaction, each journal entry will have credit and debit entries, it may have multiple credit and debit entries but the total credits must equal the total debits.
Repository
...
Object Schemas
- Additional Information
- Per Service Schemas
organization
{
objectType: "journal",
canDelete: false,
belongTo: {
serviceTag: "Organization",
objectType: "organization"
},
addOnDataStructure: [
{
type: "propertyValue"
},
{
type:"versionedData",
versionedDataLabel: "journalDetail",
storageResourceTag : "myGraph",
fieldNames: {
timestamp: {
type: "timestamp",
storageResourceTags: ['myGraph']
},
amount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
amountCurrency: {
type: "currency",
storageResourceTags: ['myGraph']
},
functionalCurrencyAmount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
exchangeRate: {
type: "number",
storageResourceTags: ['myGraph']
},
},
},
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
},
"dynamo": {
"storageType": "dynamoDB",
"tableName": "entry",
}
},
fieldNames: {
journalId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph','dynamo']
},
accountingStatus: { // "open"|"processing"|"locked"
type: "string",
storageResourceTags: ['dynamo']
},
},
identifiers: [
{
type: "identifier",
fieldName: "journalId"
}
]
}
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?