Service - Journal: Difference between revisions

From Izara Wiki
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
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
canDelete: false,
canDelete: false,
belongTo: {
belongTo: {
serviceTag: "user",
serviceTag: "Organization",
objectType: "user"
objectType: "organization"
},
},
addOnDataStructure: [
addOnDataStructure: [
type: "propertyValue"
{
type: "propertyValue"
},
{
type:"versionedData",
versionedDataLabel: "journalDetail",
storageResourceTag : "myGraph",
fieldNames: {
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 62:
type: "string",
type: "string",
randomOnCreate: true,
randomOnCreate: true,
storageResourceTags: ['myGraph']
},
amount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
amountCurrency: {
type: "currency",
storageResourceTags: ['myGraph']
},
functionalCurrencyAmount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
exchangeRate: {
type: "number",
storageResourceTags: ['myGraph']
storageResourceTags: ['myGraph']
},
},

Latest revision as of 13:58, 12 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"
		},
		{
			type:"versionedData",
			versionedDataLabel: "journalDetail",
			storageResourceTag : "myGraph",
			fieldNames: {
				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']
		},
		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?

Working documents

Journal