Service - Journal: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(3 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 that add up to each other and match the functionalCurrencyAmount.
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 21: Line 21:
},
},
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']
},
amount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
amountCurrency: {
type: "currency",
storageResourceTags: ['myGraph']
},
functionalCurrencyAmount: {
type: "currencyValue",
storageResourceTags: ['myGraph']
},
exchangeRate: {
type: "number",
storageResourceTags: ['myGraph']
},
},
accountingStatus: { // "open"|"processing"|"locked"
accountingStatus: { // "open"|"processing"|"locked"
Line 68: Line 81:
}
}
</syntaxhighlight>
</syntaxhighlight>
* 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 ==
== 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?

Working documents

Journal