<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://izara.io/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sven+the+Barbarian</id>
	<title>Izara Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://izara.io/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sven+the+Barbarian"/>
	<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php/Special:Contributions/Sven_the_Barbarian"/>
	<updated>2026-06-24T10:19:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4424</id>
		<title>Service - Currency Table Standard</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4424"/>
		<updated>2026-05-27T15:10:23Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for standard currencyTables that include historical changes.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableStandard ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		&amp;quot;baseCurrencyId&amp;quot;:{&lt;br /&gt;
			type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== currencyTableRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;,&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableRateValue&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;exchangeRate&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					validation: {},&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
         // none, identifier comes from hash or concat of currencyTableID and currencyId&lt;br /&gt;
	},&lt;br /&gt;
	identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;xx&amp;quot;,&amp;quot;yy&amp;quot;], // from required on create object identifiers&lt;br /&gt;
			name: &amp;quot;zz&amp;quot;, // name of field in database&lt;br /&gt;
		},&lt;br /&gt;
	]&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RelationshipSchemas ==&lt;br /&gt;
&lt;br /&gt;
=== baseCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== isCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableRate&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hasCurrencyRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Standard| Currency Table Standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Standard]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Organization&amp;diff=4416</id>
		<title>Service - Organization</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Organization&amp;diff=4416"/>
		<updated>2026-05-23T12:20:20Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
A user can have many organizations, each organization has it&#039;s independent accounting.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== organization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;organization&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;propertyValue&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;organizationDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;organizationName&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;dailyRateCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		organizationId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		functionalCurrency: {&lt;br /&gt;
			type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
			canUpdate: false,&lt;br /&gt;
			userCanUpdate: false,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;organizationId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== hasOrganization ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	hasOrganization: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		canChangeToRelTypes: [&lt;br /&gt;
			{&lt;br /&gt;
				serviceTag:&amp;quot;Organization&amp;quot;,&lt;br /&gt;
				relationshipTag: &amp;quot;removedOrganization&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
		],		&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;User&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;user&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== removedOrganization ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	removedOrganization: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		canChangeToRelTypes: [&lt;br /&gt;
			{&lt;br /&gt;
				serviceTag:&amp;quot;Organization&amp;quot;,&lt;br /&gt;
				relationshipTag: &amp;quot;hasOrganization&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
		],		&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;User&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;user&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* links a user to the organization they manage&lt;br /&gt;
* does not convey ownership, each organization is a standalone organization that has it&#039;s own RBAC&lt;br /&gt;
* this allows for simple transfer of ownership of data&lt;br /&gt;
&lt;br /&gt;
= Addresses =&lt;br /&gt;
&lt;br /&gt;
* use same structure as users in Izara Market&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Organization| Organization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Organization]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4415</id>
		<title>Service - Account Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4415"/>
		<updated>2026-05-23T12:19:53Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Each account is handled by a [[Service - Account (handlers)]] service.&lt;br /&gt;
&lt;br /&gt;
All accounts in the General Ledger account hierarchy are considered an Account, including Control Accounts, Sub-Accounts, Subsidiary Accounts, and all other account classifications businesses use.&lt;br /&gt;
&lt;br /&gt;
The Account Manager service handles detail shared by all Account Handler services.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== account ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;account&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: { &lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		accountId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Object Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== isChildAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	isChildAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Account Manager| Account Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Account Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4414</id>
		<title>Service - Currency Table Standard</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4414"/>
		<updated>2026-05-23T07:32:00Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for standard currencyTables that include historical changes.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableStandard ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		&amp;quot;baseCurrencyId&amp;quot;:{&lt;br /&gt;
			type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== currencyTableRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;,&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableRateValue&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;exchangeRate&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					validation: {},&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		    fromObjType:{&lt;br /&gt;
				serviceTag: &amp;quot;xxx&amp;quot;, &lt;br /&gt;
				objectType: &amp;quot;xxx&amp;quot; &lt;br /&gt;
			},&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;xx&amp;quot;,&amp;quot;yy&amp;quot;], // waiting confirm how to hash currencyTableID and currencyId&lt;br /&gt;
			name: &amp;quot;zz&amp;quot;, // name of field in database&lt;br /&gt;
		},&lt;br /&gt;
	]&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RelationshipSchemas ==&lt;br /&gt;
&lt;br /&gt;
=== baseCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== isCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableRate&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hasCurrencyRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Standard| Currency Table Standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Standard]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4410</id>
		<title>Service - Account Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4410"/>
		<updated>2026-05-22T14:16:39Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* objType */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Each account is handled by a [[Service - Account (handlers)]] service.&lt;br /&gt;
&lt;br /&gt;
All accounts in the General Ledger account hierarchy are considered an Account, including Control Accounts, Sub-Accounts, Subsidiary Accounts, and all other account classifications businesses use.&lt;br /&gt;
&lt;br /&gt;
The Account Manager service handles detail shared by all Account Handler services.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== account ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;account&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: { &lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;accountDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;creditCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: false,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;debitCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: false,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		accountId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Object Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== isChildAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	isChildAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Account Manager| Account Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Account Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4409</id>
		<title>Service - Account Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4409"/>
		<updated>2026-05-22T14:15:58Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Each account is handled by a [[Service - Account (handlers)]] service.&lt;br /&gt;
&lt;br /&gt;
All accounts in the General Ledger account hierarchy are considered an Account, including Control Accounts, Sub-Accounts, Subsidiary Accounts, and all other account classifications businesses use.&lt;br /&gt;
&lt;br /&gt;
The Account Manager service handles detail shared by all Account Handler services.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== account ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;account&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: { &lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;accountDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;creditCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;debitCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		accountId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Object Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== isChildAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	isChildAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Account Manager| Account Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Account Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4408</id>
		<title>Service - Account Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4408"/>
		<updated>2026-05-22T14:15:24Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Each account is handled by a [[Service - Account (handlers)]] service.&lt;br /&gt;
&lt;br /&gt;
All accounts in the General Ledger account hierarchy are considered an Account, including Control Accounts, Sub-Accounts, Subsidiary Accounts, and all other account classifications businesses use.&lt;br /&gt;
&lt;br /&gt;
The Account Manager service handles detail shared by all Account Handler services.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== account ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;account&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: { &lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;accountDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;defaultCreditCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;defaultDebitCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		accountId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Object Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== isChildAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	isChildAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Account Manager| Account Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Account Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Organization&amp;diff=4407</id>
		<title>Service - Organization</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Organization&amp;diff=4407"/>
		<updated>2026-05-22T14:12:49Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
A user can have many organizations, each organization has it&#039;s independent accounting.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== organization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;organization&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;propertyValue&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;organizationDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;organizationName&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;defaultCreditCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
				&amp;quot;defaultDebitCurrencyTableId&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					canUpdate: true,&lt;br /&gt;
					userCanUpdate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		organizationId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		functionalCurrency: {&lt;br /&gt;
			type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
			canUpdate: false,&lt;br /&gt;
			userCanUpdate: false,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;organizationId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== hasOrganization ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	hasOrganization: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		canChangeToRelTypes: [&lt;br /&gt;
			{&lt;br /&gt;
				serviceTag:&amp;quot;Organization&amp;quot;,&lt;br /&gt;
				relationshipTag: &amp;quot;removedOrganization&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
		],		&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;User&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;user&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== removedOrganization ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	removedOrganization: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		canChangeToRelTypes: [&lt;br /&gt;
			{&lt;br /&gt;
				serviceTag:&amp;quot;Organization&amp;quot;,&lt;br /&gt;
				relationshipTag: &amp;quot;hasOrganization&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
		],		&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;User&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;user&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* links a user to the organization they manage&lt;br /&gt;
* does not convey ownership, each organization is a standalone organization that has it&#039;s own RBAC&lt;br /&gt;
* this allows for simple transfer of ownership of data&lt;br /&gt;
&lt;br /&gt;
= Addresses =&lt;br /&gt;
&lt;br /&gt;
* use same structure as users in Izara Market&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Organization| Organization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Organization]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4404</id>
		<title>Service - Currency Table Standard</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4404"/>
		<updated>2026-05-20T14:28:47Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for standard currencyTables that include historical changes.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableStandard ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		// from currencyTable objType&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== currencyTableRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;,&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableRateValue&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;exchangeRate&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					validation: {},&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		    fromObjType:{&lt;br /&gt;
				serviceTag: &amp;quot;xxx&amp;quot;, &lt;br /&gt;
				objectType: &amp;quot;xxx&amp;quot; &lt;br /&gt;
			},&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;xx&amp;quot;,&amp;quot;yy&amp;quot;], // waiting confirm how to hash currencyTableID and currencyId&lt;br /&gt;
			name: &amp;quot;zz&amp;quot;, // name of field in database&lt;br /&gt;
		},&lt;br /&gt;
	]&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RelationshipSchemas ==&lt;br /&gt;
&lt;br /&gt;
=== baseCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== isCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableRate&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hasCurrencyRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Standard| Currency Table Standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Standard]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Journal&amp;diff=4403</id>
		<title>Service - Journal</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Journal&amp;diff=4403"/>
		<updated>2026-05-20T13:41:04Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== organization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;journal&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;propertyValue&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;journalDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				timestamp: {&lt;br /&gt;
					type: &amp;quot;timestamp&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				amount: {&lt;br /&gt;
					type: &amp;quot;currencyValue&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				amountCurrency: {&lt;br /&gt;
					type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				functionalCurrencyAmount: {&lt;br /&gt;
					type: &amp;quot;currencyValue&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				exchangeRate: {&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
			},&lt;br /&gt;
        },	&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
		  &amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
		  &amp;quot;tableName&amp;quot;: &amp;quot;journal&amp;quot;,&lt;br /&gt;
		}  &lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		journalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;,&#039;dynamo&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		accountingStatus: { // &amp;quot;open&amp;quot;|&amp;quot;processing&amp;quot;|&amp;quot;locked&amp;quot;&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			storageResourceTags: [&#039;dynamo&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;journalId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
* probably need relationship to organization that owns the entry, because will be floating initially (until entries connect to accounts)&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Journal| Journal]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Journal]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4402</id>
		<title>Service - Currency Table Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4402"/>
		<updated>2026-05-20T01:37:08Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Tables receive to/from currencyId and return the rate between them.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraCurrency-CurrencyTables/IzaraCurrency-CurrencyTables-CurrencyTableManager&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== currencyTable ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;translation&amp;quot; // name of the currencyTable&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		dynamoDB: {&lt;br /&gt;
			storageType: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			tableName: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;dynamoDB&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;currencyTableId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Manager| Currency Table Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Calc&amp;diff=4401</id>
		<title>Service - Currency Table Calc</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Calc&amp;diff=4401"/>
		<updated>2026-05-20T01:36:55Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for currency calculations that have a function that can point to one or many currencyTableStandards.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraCurrency-CurrencyTables/IzaraCurrency-CurrencyTables-CurrencyTableCalc&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableCalc ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableCalc&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableCalcOptions&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;currencyCalc&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		// from currencyTable objType&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Calc| Currency Table Calc]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Calc]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency&amp;diff=4400</id>
		<title>Service - Currency</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency&amp;diff=4400"/>
		<updated>2026-05-20T01:19:17Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
All currencies are user defined, simple structure that cannot be changed once created.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraCurrency-Currencies/IzaraCurrency-Currencies-Currency&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== currency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;currency&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		currencyId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		currencyName: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;currencyId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency| Currency]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Calc&amp;diff=4399</id>
		<title>Service - Currency Table Calc</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Calc&amp;diff=4399"/>
		<updated>2026-05-20T01:03:43Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Handler service for currency calculations that have a function that can point to one or many currencyTableStandards.  = Repository =  ...  = Schemas =  ==ObjectSchemas==  === currencyTableCalc ===  &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt; { 	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableCalc&amp;quot;, 	&amp;quot;extendObjType&amp;quot;: { 		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;, 		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot; 	}, 	&amp;quot;storageResources&amp;quot;: {}, 	&amp;quot;addOnDataStructure&amp;quot;: [ 		{ 			type:&amp;quot;versionedData&amp;quot;, 			versionedDa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for currency calculations that have a function that can point to one or many currencyTableStandards.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableCalc ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableCalc&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableCalcOptions&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;currencyCalc&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;string&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		// from currencyTable objType&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Calc| Currency Table Calc]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Calc]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4398</id>
		<title>Service - Currency Table Standard</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Standard&amp;diff=4398"/>
		<updated>2026-05-20T01:00:24Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Handler service for standard currencyTables that include historical changes.  = Repository =  ...  = Schemas =  ==ObjectSchemas==  === currencyTableStandard ===  &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt; { 	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;, 	&amp;quot;extendObjType&amp;quot;: { 		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;, 		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot; 	}, 	&amp;quot;storageResources&amp;quot;: {}, 	&amp;quot;addOnDataStructure&amp;quot;: [], 	&amp;quot;fieldNames&amp;quot;: { 		// from currencyTable objType 	}, 	&amp;quot;generatedBy&amp;quot;: &amp;quot;use...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handler service for standard currencyTables that include historical changes.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Schemas =&lt;br /&gt;
&lt;br /&gt;
==ObjectSchemas==&lt;br /&gt;
&lt;br /&gt;
=== currencyTableStandard ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;,&lt;br /&gt;
	&amp;quot;extendObjType&amp;quot;: {&lt;br /&gt;
		&amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableManager&amp;quot;,&lt;br /&gt;
		&amp;quot;objectType&amp;quot;: &amp;quot;currencyTable&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		// from currencyTable objType&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== currencyTableRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;,&lt;br /&gt;
	&amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;currencyTableRateValue&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;graph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				&amp;quot;exchangeRate&amp;quot;:{&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					validation: {},&lt;br /&gt;
				},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;fieldNames&amp;quot;: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		    fromObjType:{&lt;br /&gt;
				serviceTag: &amp;quot;xxx&amp;quot;, &lt;br /&gt;
				objectType: &amp;quot;xxx&amp;quot; &lt;br /&gt;
			},&lt;br /&gt;
		},&lt;br /&gt;
	},&lt;br /&gt;
	identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;xx&amp;quot;,&amp;quot;yy&amp;quot;], // waiting confirm how to hash currencyTableID and currencyId&lt;br /&gt;
			name: &amp;quot;zz&amp;quot;, // name of field in database&lt;br /&gt;
		},&lt;br /&gt;
	]&lt;br /&gt;
	&amp;quot;generatedBy&amp;quot;: &amp;quot;userGenerated&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RelationshipSchemas ==&lt;br /&gt;
&lt;br /&gt;
=== isCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableRate&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;Currency&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currency&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hasCurrencyRate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;relationshipServiceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
  &amp;quot;fieldNames&amp;quot;: {},&lt;br /&gt;
  &amp;quot;storageResources&amp;quot;: {&lt;br /&gt;
    &amp;quot;graph&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: &amp;quot;graph&amp;quot;,&lt;br /&gt;
      &amp;quot;graphServerTag&amp;quot;: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;links&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;storageResourceTags&amp;quot;: [&lt;br /&gt;
        &amp;quot;graph&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;from&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableStandard&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;one&amp;quot;,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: false&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;to&amp;quot;: {&lt;br /&gt;
        &amp;quot;objType&amp;quot;: {&lt;br /&gt;
          &amp;quot;serviceTag&amp;quot;: &amp;quot;CurrencyTableStandard&amp;quot;,&lt;br /&gt;
          &amp;quot;objectType&amp;quot;: &amp;quot;currencyTableRate&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;linkType&amp;quot;: &amp;quot;many&amp;quot;,&lt;br /&gt;
        &amp;quot;requiredOnCreate&amp;quot;: true,&lt;br /&gt;
        &amp;quot;handler&amp;quot;: true,&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;canDelete&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;canMove&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Standard| Currency Table Standard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Standard]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency&amp;diff=4397</id>
		<title>Service - Currency</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency&amp;diff=4397"/>
		<updated>2026-05-20T00:55:20Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  All currencies are user defined, simple structure that cannot be changed once created.  = Repository =  ....  = Object Schemas = ; Additional Information: Per Service Schemas  == objType ==  === currency ===  &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt; { 	objectType: &amp;quot;currency&amp;quot;, 	canDelete: false, 	&amp;quot;addOnDataStructure&amp;quot;: [], 	storageResources: { 		graph: { 			storageType: &amp;quot;graph&amp;quot;, 			graphServerTag: &amp;quot;GraphHandler&amp;quot;, 		}     },     fieldNames: { 		currencyId: {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
All currencies are user defined, simple structure that cannot be changed once created.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== currency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;currency&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		graph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		currencyId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		currencyName: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			requiredOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;graph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;currencyId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency| Currency]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currencies&amp;diff=4396</id>
		<title>Service - Currencies</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currencies&amp;diff=4396"/>
		<updated>2026-05-20T00:53:15Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
* obsolete, see [[Development - Izara Currency]]&lt;br /&gt;
&lt;br /&gt;
Manages currencies used in project including rates&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
https://bitbucket.org/izara-core-shared/izara-core-shared-currencies&lt;br /&gt;
&lt;br /&gt;
= DynamoDB tables =&lt;br /&gt;
&lt;br /&gt;
== [[Standard Config Table Per Service]] ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration tags ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	configKey: &amp;quot;baseCurrencyId&amp;quot;,&lt;br /&gt;
	configTag: &amp;quot;baseCurrencyId&amp;quot;,&lt;br /&gt;
	configValue: &amp;quot;USD&amp;quot;,&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CurrencyMain ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	currencyId: &amp;quot;xx&amp;quot;, // can be any string identifier, for standard ISO 4217 use the string code&lt;br /&gt;
	rate: &amp;quot;xx&amp;quot;,&lt;br /&gt;
	timeRateUpdated: &amp;quot;xx&amp;quot; // timestamp&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* partition key: currencyId&lt;br /&gt;
* sort key: {none}&lt;br /&gt;
&lt;br /&gt;
= Rates =&lt;br /&gt;
&lt;br /&gt;
Rate is mid-market rate to a base currency, in our project work with USD.&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currencies|Currencies]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currencies]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4395</id>
		<title>2026-05-20 - Currency Project</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4395"/>
		<updated>2026-05-20T00:50:39Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Development - Izara Currency]]&lt;br /&gt;
&lt;br /&gt;
old:&lt;br /&gt;
&lt;br /&gt;
[[Service - Currencies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
* Shared project where users can create currency tables used in [[Development - Izara Market|Izara Market]], [[Development - Izara Supply|Izara Supply]], [[Development - Izara Accounting|Izara Accounting]] etc&lt;br /&gt;
* A table is a list of conversions from one currency to another&lt;br /&gt;
* Currencies are not limited to standards, anyone can create any currency, so external projects must allow for table returning not found result&lt;br /&gt;
* Each currency table has RBAC&lt;br /&gt;
&lt;br /&gt;
= Currency Calcs =&lt;br /&gt;
&lt;br /&gt;
* Currency functions allow an extra layer on top of currency tables to calculate rate&lt;br /&gt;
* Can dig data from multiple tables&lt;br /&gt;
* Can perform functions on values to return single value&lt;br /&gt;
* Calcs are a handler service same as currencyTableStandard so requests get sent to currencyTable and Manager chooses if handled by tableStandard or calc&lt;br /&gt;
&lt;br /&gt;
* Can request directly from currencyTable or currencyCalc&lt;br /&gt;
&lt;br /&gt;
= Oracles =&lt;br /&gt;
&lt;br /&gt;
* Digging currency rates from outside sources, eg central banks for accounting purposes&lt;br /&gt;
* Try using shared currencyTable structure, but have hardcoded per oracle flows that update it&lt;br /&gt;
&lt;br /&gt;
= Historical rates =&lt;br /&gt;
&lt;br /&gt;
* Changes need to be recorded in graph so can extract historical rates&lt;br /&gt;
* This might be required for eg accounting transactions that require a rate on a specific timestamp&lt;br /&gt;
&lt;br /&gt;
== notes ==&lt;br /&gt;
&lt;br /&gt;
* maintaining historical rates may use large resources for eg oracles that update regularly&lt;br /&gt;
* perhaps build resourceUse for data/logic costs per currencyTable&lt;br /&gt;
* also have setting whether historical rates are stored per currencyTable&lt;br /&gt;
&lt;br /&gt;
[[Category:Working documents| 2026-05-20]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4394</id>
		<title>2026-05-20 - Currency Project</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4394"/>
		<updated>2026-05-20T00:49:47Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Development - Izara Currency]]&lt;br /&gt;
&lt;br /&gt;
old:&lt;br /&gt;
&lt;br /&gt;
[[Development - Service - Currencies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
* Shared project where users can create currency tables used in [[Development - Izara Market|Izara Market]], [[Development - Izara Supply|Izara Supply]], [[Development - Izara Accounting|Izara Accounting]] etc&lt;br /&gt;
* A table is a list of conversions from one currency to another&lt;br /&gt;
* Currencies are not limited to standards, anyone can create any currency, so external projects must allow for table returning not found result&lt;br /&gt;
* Each currency table has RBAC&lt;br /&gt;
&lt;br /&gt;
= Currency Calcs =&lt;br /&gt;
&lt;br /&gt;
* Currency functions allow an extra layer on top of currency tables to calculate rate&lt;br /&gt;
* Can dig data from multiple tables&lt;br /&gt;
* Can perform functions on values to return single value&lt;br /&gt;
* Calcs are a handler service same as currencyTableStandard so requests get sent to currencyTable and Manager chooses if handled by tableStandard or calc&lt;br /&gt;
&lt;br /&gt;
* Can request directly from currencyTable or currencyCalc&lt;br /&gt;
&lt;br /&gt;
= Oracles =&lt;br /&gt;
&lt;br /&gt;
* Digging currency rates from outside sources, eg central banks for accounting purposes&lt;br /&gt;
* Try using shared currencyTable structure, but have hardcoded per oracle flows that update it&lt;br /&gt;
&lt;br /&gt;
= Historical rates =&lt;br /&gt;
&lt;br /&gt;
* Changes need to be recorded in graph so can extract historical rates&lt;br /&gt;
* This might be required for eg accounting transactions that require a rate on a specific timestamp&lt;br /&gt;
&lt;br /&gt;
== notes ==&lt;br /&gt;
&lt;br /&gt;
* maintaining historical rates may use large resources for eg oracles that update regularly&lt;br /&gt;
* perhaps build resourceUse for data/logic costs per currencyTable&lt;br /&gt;
* also have setting whether historical rates are stored per currencyTable&lt;br /&gt;
&lt;br /&gt;
[[Category:Working documents| 2026-05-20]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_Stack_-_Currencies&amp;diff=4393</id>
		<title>Service Stack - Currencies</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_Stack_-_Currencies&amp;diff=4393"/>
		<updated>2026-05-20T00:46:54Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Services that manage currencies  = Services =  * Service - Currency  = Working documents =   Service Stack - Currencies&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Services that manage currencies&lt;br /&gt;
&lt;br /&gt;
= Services =&lt;br /&gt;
&lt;br /&gt;
* [[Service - Currency]]&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Service Stack - Currencies| Service Stack - Currencies]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_Currency&amp;diff=4392</id>
		<title>Development - Izara Currency</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_Currency&amp;diff=4392"/>
		<updated>2026-05-20T00:46:17Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Currencies]]&lt;br /&gt;
* [[Service Stack - Currency Tables]]&lt;br /&gt;
* [[Service Stack - Currency Oracles]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4391</id>
		<title>Service - Currency Table Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4391"/>
		<updated>2026-05-20T00:31:18Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Tables receive to/from currencyId and return the rate between them.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== currencyTable ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	&amp;quot;addOnDataStructure&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;translation&amp;quot; // name of the currencyTable&lt;br /&gt;
		},&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		dynamoDB: {&lt;br /&gt;
			storageType: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			tableName: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;dynamoDB&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;currencyTableId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Manager| Currency Table Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4390</id>
		<title>Service - Currency Table Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Currency_Table_Manager&amp;diff=4390"/>
		<updated>2026-05-20T00:27:20Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Tables receive to/from currencyId and return the rate between them.  = Repository =  ....  = Object Schemas = ; Additional Information: Per Service Schemas  == objType ==  === currencyTable ===  &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt; { 	objectType: &amp;quot;currencyTable&amp;quot;, 	canDelete: false, 	addOnDataStructure: [], 	storageResources: { 		dynamoDB: { 			storageType: &amp;quot;dynamoDB&amp;quot;, 			tableName: &amp;quot;currencyTable&amp;quot;, 		}     },     fieldNames: { 		currencyTableId: { 			typ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Tables receive to/from currencyId and return the rate between them.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== currencyTable ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		dynamoDB: {&lt;br /&gt;
			storageType: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			tableName: &amp;quot;currencyTable&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		currencyTableId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;dynamoDB&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;currencyTableId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Currency Table Manager| Currency Table Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Currency Table Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4389</id>
		<title>Service - Account Manager</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Account_Manager&amp;diff=4389"/>
		<updated>2026-05-20T00:22:25Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Each account is handled by a [[Service - Account (handlers)]] service.&lt;br /&gt;
&lt;br /&gt;
All accounts in the General Ledger account hierarchy are considered an Account, including Control Accounts, Sub-Accounts, Subsidiary Accounts, and all other account classifications businesses use.&lt;br /&gt;
&lt;br /&gt;
The Account Manager service handles detail shared by all Account Handler services.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== objType ==&lt;br /&gt;
&lt;br /&gt;
=== account ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;account&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: { &lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		accountId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Object Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== isChildAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	isChildAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;accountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Account Manager| Account Manager]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Account Manager]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_Stack_-_Currency_Tables&amp;diff=4388</id>
		<title>Service Stack - Currency Tables</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_Stack_-_Currency_Tables&amp;diff=4388"/>
		<updated>2026-05-20T00:21:03Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Services that manage currency tables and currency calculation structures&lt;br /&gt;
&lt;br /&gt;
= Services =&lt;br /&gt;
&lt;br /&gt;
* [[Service - Currency Table Manager]]&lt;br /&gt;
* [[Service - Currency Table (handlers)]]&lt;br /&gt;
*# [[Service - Currency Table Standard]]&lt;br /&gt;
*# [[Service - Currency Table Calc]]&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Service Stack - Currency Tables| Service Stack - Currency Tables]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_Stack_-_Currency_Tables&amp;diff=4387</id>
		<title>Service Stack - Currency Tables</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_Stack_-_Currency_Tables&amp;diff=4387"/>
		<updated>2026-05-20T00:11:51Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Services that manage currency tables and currency calculation structures  = Services =  * Service - Currency Table Manager * Service - Currency Table (handlers) *# Service - Currency Table Standard  * Service - Currency Calc  = Working documents =   Service Stack - Currency Tables&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Services that manage currency tables and currency calculation structures&lt;br /&gt;
&lt;br /&gt;
= Services =&lt;br /&gt;
&lt;br /&gt;
* [[Service - Currency Table Manager]]&lt;br /&gt;
* [[Service - Currency Table (handlers)]]&lt;br /&gt;
*# [[Service - Currency Table Standard]]&lt;br /&gt;
&lt;br /&gt;
* [[Service - Currency Calc]]&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Service Stack - Currency Tables| Service Stack - Currency Tables]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4386</id>
		<title>2026-05-20 - Currency Project</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=2026-05-20_-_Currency_Project&amp;diff=4386"/>
		<updated>2026-05-20T00:03:11Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;Development - Izara Currency old: Development - Service - Currencies  = Overview =  * Shared project where users can create currency tables used in Izara Market, Izara Supply, Izara Accounting etc * A table is a list of conversions from one currency to another * Currencies are not limited to standards, anyone can create any currency, so external projects must allow fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Development - Izara Currency]]&lt;br /&gt;
old:&lt;br /&gt;
[[Development - Service - Currencies]]&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
* Shared project where users can create currency tables used in [[Development - Izara Market|Izara Market]], [[Development - Izara Supply|Izara Supply]], [[Development - Izara Accounting|Izara Accounting]] etc&lt;br /&gt;
* A table is a list of conversions from one currency to another&lt;br /&gt;
* Currencies are not limited to standards, anyone can create any currency, so external projects must allow for table returning not found result&lt;br /&gt;
* Each currency table has RBAC&lt;br /&gt;
&lt;br /&gt;
= Currency Calcs =&lt;br /&gt;
&lt;br /&gt;
* Currency functions allow an extra layer on top of currency tables to calculate rate&lt;br /&gt;
* Can dig data from multiple tables&lt;br /&gt;
* Can perform functions on values to return single value&lt;br /&gt;
&lt;br /&gt;
* Can request directly from currencyTable or currencyCalc&lt;br /&gt;
&lt;br /&gt;
= Oracles =&lt;br /&gt;
&lt;br /&gt;
* Digging currency rates from outside sources, eg central banks for accounting purposes&lt;br /&gt;
* Try using shared currencyTable structure, but have hardcoded per oracle flows that update it&lt;br /&gt;
&lt;br /&gt;
= Historical rates =&lt;br /&gt;
&lt;br /&gt;
* Changes need to be recorded in graph so can extract historical rates&lt;br /&gt;
* This might be required for eg accounting transactions that require a rate on a specific timestamp&lt;br /&gt;
&lt;br /&gt;
== notes ==&lt;br /&gt;
&lt;br /&gt;
* maintaining historical rates may use large resources for eg oracles that update regularly&lt;br /&gt;
* perhaps build resourceUse for data/logic costs per currencyTable&lt;br /&gt;
* also have setting whether historical rates are stored per currencyTable&lt;br /&gt;
&lt;br /&gt;
[[Category:Working documents| 2026-05-20]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_Currency&amp;diff=4385</id>
		<title>Development - Izara Currency</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_Currency&amp;diff=4385"/>
		<updated>2026-05-19T23:53:02Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Backend =  == Backend services ==  * Service Stack - Currency Oracles * Service Stack - Currency Tables&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Currency Oracles]]&lt;br /&gt;
* [[Service Stack - Currency Tables]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Design_concepts&amp;diff=4384</id>
		<title>Design concepts</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Design_concepts&amp;diff=4384"/>
		<updated>2026-05-19T23:36:29Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projects =&lt;br /&gt;
&lt;br /&gt;
* [[Development - Izara Core]]&lt;br /&gt;
* [[Development - Izara Market]]&lt;br /&gt;
* [[Development - Izara Supply]]&lt;br /&gt;
* [[Development - Izara Video Feed]]&lt;br /&gt;
* [[Development - Izara Commerce]]&lt;br /&gt;
* [[Development - Izara Accounting]]&lt;br /&gt;
* [[Development - Izara IoT]]&lt;br /&gt;
* [[Development - Izara Currency]]&lt;br /&gt;
&lt;br /&gt;
= Linker Projects =&lt;br /&gt;
&lt;br /&gt;
* [[Development - Izara Commerce to Accounting]]&lt;br /&gt;
&lt;br /&gt;
= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Backend services|see all Backend services]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:NPM modules|see all NPM modules]]&lt;br /&gt;
&lt;br /&gt;
== Deploy instructions ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Deploy instructions|see all Deploy instructions]]&lt;br /&gt;
&lt;br /&gt;
== Testing and developing ==&lt;br /&gt;
&lt;br /&gt;
* [[Repository structure]]&lt;br /&gt;
*: Standard file and directory structure of repositories&lt;br /&gt;
* [[Development environment]]&lt;br /&gt;
* [[Test environment overview]]&lt;br /&gt;
* [[Local test environment]]&lt;br /&gt;
* [[Using Postman]]&lt;br /&gt;
* [[Git development]]&lt;br /&gt;
* [[Syntax - Backend services]]&lt;br /&gt;
* [[Remote repository and workspace structure]]&lt;br /&gt;
* [[Developer guide for making Integration Tests]]&lt;br /&gt;
* [[Diagrams service]]&lt;br /&gt;
&lt;br /&gt;
== Misc concepts ==&lt;br /&gt;
&lt;br /&gt;
* [[Communication between services]]&lt;br /&gt;
* [[Lambda handler functions]]&lt;br /&gt;
* [[Idempotence and Race Conditions]]&lt;br /&gt;
* [[Per Service Schemas]]&lt;br /&gt;
* [[Standard Data Structures]]&lt;br /&gt;
* [[Standard Config Table Per Service]]&lt;br /&gt;
*: (maybe removing)&lt;br /&gt;
* [[Standard LogicalResults Per Service]]&lt;br /&gt;
* [[Standard FindData Per Service]]&lt;br /&gt;
* [[Stored Cache]] and [[Triggered Cache]]&lt;br /&gt;
* [[Calling Flow]]&lt;br /&gt;
* [[Standard WebSocketTask Per Service]]&lt;br /&gt;
* [[Error Handling Multi Thread Processing]]&lt;br /&gt;
* [[Multi Thread Invocation]]&lt;br /&gt;
* [[Copying large Dynamo data from to another service table]]&lt;br /&gt;
&lt;br /&gt;
= Frontend =&lt;br /&gt;
&lt;br /&gt;
== Testing and developing ==&lt;br /&gt;
&lt;br /&gt;
* [[Syntax - Frontend services]]&lt;br /&gt;
&lt;br /&gt;
== Concepts ==&lt;br /&gt;
&lt;br /&gt;
* [[Frontend Application Structure]]&lt;br /&gt;
* [[Frontend Authentication]]&lt;br /&gt;
&lt;br /&gt;
== Testing and developing ==&lt;br /&gt;
&lt;br /&gt;
* [[Local Development Environment]]&lt;br /&gt;
&lt;br /&gt;
= This wiki =&lt;br /&gt;
&lt;br /&gt;
* [[How to contribute]]&lt;br /&gt;
* [[Standard formatting rules]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4382</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4382"/>
		<updated>2026-05-13T14:25:47Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* On-site Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Server]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
* [[Device - Temperature Sensor]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4381</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4381"/>
		<updated>2026-05-13T14:25:37Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* On-site */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Server]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
* [[Device - Temperature Sensor]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4380</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4380"/>
		<updated>2026-05-13T14:25:23Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* On-site projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Server]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
* [[Device - Temperature Sensor]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4379</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4379"/>
		<updated>2026-05-13T14:24:29Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Server]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
* [[Device - Temperature Sensor]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Entry&amp;diff=4335</id>
		<title>Service - Entry</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Entry&amp;diff=4335"/>
		<updated>2026-05-04T12:34:17Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
A credit or debit entry linking between a journal entry and an account.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== entry ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;entry&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
		  &amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
		  &amp;quot;tableName&amp;quot;: &amp;quot;entry&amp;quot;,&lt;br /&gt;
		}  &lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		entryId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;,&#039;dynamo&#039;]&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;entryId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* accountingStatus: when a period is being closed we set all entries to processing, then once the return is completed set to locked&lt;br /&gt;
* when beginning process of an entry, maybe trigger ComAcc plugin to check whether journalId can be locked, for example if it is connected to a sale and the sale is in saleCommitted=working/updateWorking cannot be locked&lt;br /&gt;
* when processing or locked entries cannot be changed (journals cannot be changed if either of the entries on each side are processing or locked&lt;br /&gt;
* maybe the journal also has an accountingStatus, so easy to confirm cannot make changes, or perhaps only journals because entries cannot be changed directly&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
=== hasEntry ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	hasEntry: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Journal&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;journal&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;,&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Entry&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;entry&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== inAccount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	inAccount: {&lt;br /&gt;
		storageResources: {&lt;br /&gt;
			myGraph: {&lt;br /&gt;
				storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
				graphServerTag: &amp;quot;GraphHandler&amp;quot;			&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		links: [&lt;br /&gt;
			{&lt;br /&gt;
				storageResourceTags: [&amp;quot;myGraph&amp;quot;],&lt;br /&gt;
				from: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;Entry&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;entry&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					requiredOnCreate: true,&lt;br /&gt;
					linkType: &amp;quot;many&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				to: {&lt;br /&gt;
					objType: {&lt;br /&gt;
						serviceTag: &amp;quot;AccountManager&amp;quot;,&lt;br /&gt;
						objectType: &amp;quot;account&amp;quot;&lt;br /&gt;
					},&lt;br /&gt;
					linkType: &amp;quot;one&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Entry| Entry]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Entry]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_Journal&amp;diff=4334</id>
		<title>Service - Journal</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_Journal&amp;diff=4334"/>
		<updated>2026-05-04T12:33:53Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== organization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;journal&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;Organization&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;organization&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;propertyValue&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type:&amp;quot;versionedData&amp;quot;,&lt;br /&gt;
			versionedDataLabel: &amp;quot;journalDetail&amp;quot;,&lt;br /&gt;
			storageResourceTag : &amp;quot;myGraph&amp;quot;,&lt;br /&gt;
			fieldNames: {&lt;br /&gt;
				timestamp: {&lt;br /&gt;
					type: &amp;quot;timestamp&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				amount: {&lt;br /&gt;
					type: &amp;quot;currencyValue&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				amountCurrency: {&lt;br /&gt;
					type: &amp;quot;currency&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				functionalCurrencyAmount: {&lt;br /&gt;
					type: &amp;quot;currencyValue&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
				exchangeRate: {&lt;br /&gt;
					type: &amp;quot;number&amp;quot;,&lt;br /&gt;
					storageResourceTags: [&#039;myGraph&#039;]&lt;br /&gt;
				},&lt;br /&gt;
			},&lt;br /&gt;
        },	&lt;br /&gt;
	],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		myGraph: {&lt;br /&gt;
			storageType: &amp;quot;graph&amp;quot;,&lt;br /&gt;
			graphServerTag: &amp;quot;GraphHandler&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
		  &amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
		  &amp;quot;tableName&amp;quot;: &amp;quot;entry&amp;quot;,&lt;br /&gt;
		}  &lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		journalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			randomOnCreate: true,&lt;br /&gt;
			storageResourceTags: [&#039;myGraph&#039;,&#039;dynamo&#039;]&lt;br /&gt;
		},&lt;br /&gt;
		accountingStatus: { // &amp;quot;open&amp;quot;|&amp;quot;processing&amp;quot;|&amp;quot;locked&amp;quot;&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			storageResourceTags: [&#039;dynamo&#039;]&lt;br /&gt;
		},&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;identifier&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;journalId&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
* probably need relationship to organization that owns the entry, because will be floating initially (until entries connect to accounts)&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Journal| Journal]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| Journal]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4333</id>
		<title>Service - CommerceAccounting Purchase</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4333"/>
		<updated>2026-05-04T11:58:43Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* Example request param from Commerce */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handle links between purchases and Accounting records.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// accountLinkTag // type of link: inputVAT|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sets which Accounting accountId journal entries are added to&lt;br /&gt;
&lt;br /&gt;
== comAccPurchase ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
	canDelete: false,	&lt;br /&gt;
    addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		inputVatJournalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			optionalOnCreate: true,&lt;br /&gt;
			canUpdate: true,&lt;br /&gt;
			storageResourceTags: [&amp;quot;dynamo&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLineItem ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		// purchaseLineItemId,&lt;br /&gt;
		// journalId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseLineItemId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
== createPurchase ==&lt;br /&gt;
&lt;br /&gt;
* when creating a purchase, iterate purchaseLineItems to decide which journal entries are created&lt;br /&gt;
* accountsPayable accountId comes from [[Service - CommerceAccounting Vendor]]&lt;br /&gt;
* each purchaseLineItem checks it&#039;s type then finds accountId from coresponding comAcc service&lt;br /&gt;
&lt;br /&gt;
=== Example request param from Commerce ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	belongToIdentifiers: {&lt;br /&gt;
	  businessId: &amp;quot;xxx&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	purchaseId: &amp;quot;&amp;quot;,&lt;br /&gt;
	vendorId: &amp;quot;&amp;quot;,&lt;br /&gt;
    timestamp: 1111111,&lt;br /&gt;
	purchaseCurrencyId: &amp;quot;&amp;quot;,&lt;br /&gt;
	inventoryLocationId: &amp;quot;&amp;quot;, // required if have any inventory/?assets&lt;br /&gt;
	purchaseLineItems: {&lt;br /&gt;
		{purchaseLineItemId}: {&lt;br /&gt;
            inventoryId: &amp;quot;&amp;quot;,&lt;br /&gt;
            inventoryTemplateId: &amp;quot;&amp;quot;,&lt;br /&gt;
			type: &amp;quot;&amp;quot;, // inventory|expense|services|freight|salesTax|vatTax|other&lt;br /&gt;
			subType: &amp;quot;&amp;quot;, // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, freight: standard, order: standard&lt;br /&gt;
			lineItemQuantity: 1,&lt;br /&gt;
			lineItemUnitPrice: &amp;quot;2.00&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		//...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== updatePurchase ==&lt;br /&gt;
&lt;br /&gt;
* make adjustment to journal entries when purchaseLineItemId changes&lt;br /&gt;
* handle removal of purchase/journal entries, or creation of new entries&lt;br /&gt;
* basically re-calculate all entries and check against existing&lt;br /&gt;
* each journalId must check Accounting that it&#039;s period/s are not locked, if locked return error, cannot make update&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Purchase| CommerceAccounting Purchase]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Purchase]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Device_-_Temperature_Sensor&amp;diff=4314</id>
		<title>Device - Temperature Sensor</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Device_-_Temperature_Sensor&amp;diff=4314"/>
		<updated>2026-04-30T02:29:12Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Relay controller  = Repository =  http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-TemperatureSensor  = Working documents =   Temperature Sensor&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Relay controller&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-TemperatureSensor&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Temperature Sensor| Temperature Sensor]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4313</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4313"/>
		<updated>2026-04-30T02:27:21Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Sensor Bridge]]&lt;br /&gt;
* [[Server - Device Config Bridge]]&lt;br /&gt;
* [[Server - Video Feed Bridge]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
* [[Device - Temperature Sensor]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Device_-_Relay_Controller&amp;diff=4311</id>
		<title>Device - Relay Controller</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Device_-_Relay_Controller&amp;diff=4311"/>
		<updated>2026-04-24T14:30:52Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Relay controller  = Repository =  http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-RelayController  = Working documents =   Relay Controller&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Relay controller&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-RelayController&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Relay Controller| Relay Controller]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Device_-_Firmware&amp;diff=4310</id>
		<title>Device - Firmware</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Device_-_Firmware&amp;diff=4310"/>
		<updated>2026-04-24T14:23:15Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Initial firmware for Arduno devices.  = Repository =  http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-Firmware  = Working documents =   Device Firmware&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Initial firmware for Arduno devices.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
http://git.izara.io/IzaraIoT-Device/IzaraIoT-Device-Firmware&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Device Firmware| Device Firmware]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4309</id>
		<title>Development - Izara IoT</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Development_-_Izara_IoT&amp;diff=4309"/>
		<updated>2026-04-24T14:16:47Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Backend =&lt;br /&gt;
&lt;br /&gt;
== Backend services ==&lt;br /&gt;
&lt;br /&gt;
* [[Service Stack - Data Ingest]]&lt;br /&gt;
* [[Service Stack - Device Config]]&lt;br /&gt;
&lt;br /&gt;
== On-site projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Server - Device Sensor Bridge]]&lt;br /&gt;
* [[Server - Device Config Bridge]]&lt;br /&gt;
* [[Server - Video Feed Bridge]]&lt;br /&gt;
&lt;br /&gt;
== Device projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Device - Firmware]]&lt;br /&gt;
* [[Device - Relay Controller]]&lt;br /&gt;
&lt;br /&gt;
== NPM modules ==&lt;br /&gt;
&lt;br /&gt;
* ..&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Expense&amp;diff=4302</id>
		<title>Service - CommerceAccounting Expense</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Expense&amp;diff=4302"/>
		<updated>2026-04-17T09:22:31Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: Created page with &amp;quot;= Overview =  Links Expense objects to Accounting structures.  = Repository =  ...  = Object Schemas = ; Additional Information: Per Service Schemas  == comAccExpenseLink ==  &amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt; { 	objectType: &amp;quot;comAccExpenseLink&amp;quot;, 	canDelete: false, 	belongTo: { 		serviceTag: &amp;quot;ComAccLink&amp;quot;, 		objectType: &amp;quot;comAccLinkByBusiness&amp;quot; 	}, 	addOnDataStructure: [], 	storageResources: { 		&amp;quot;dynamo&amp;quot;: { 			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;, 			&amp;quot;tableName&amp;quot;: &amp;quot;comAccExpenseLin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Links Expense objects to Accounting structures.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccExpenseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccExpenseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccExpenseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// expenseId&lt;br /&gt;
		// accountLinkTag // type of link: expenseEntry|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;,&amp;quot;expenseId&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccDefaultExpenseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccDefaultExpenseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccDefaultExpenseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// expenseType // pointInTime|overTime&lt;br /&gt;
		// accountLinkTag // type of link: expenseEntry|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;, &amp;quot;expenseType&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RelationshipSchemas ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Expenses|CommerceAccounting Expenses]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Expenses]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_Stack_-_CommerceAccounting_Inventory&amp;diff=4301</id>
		<title>Service Stack - CommerceAccounting Inventory</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_Stack_-_CommerceAccounting_Inventory&amp;diff=4301"/>
		<updated>2026-04-17T09:22:23Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Services that manage inventory adjustments.&lt;br /&gt;
&lt;br /&gt;
= Services =&lt;br /&gt;
&lt;br /&gt;
== Inventory ==&lt;br /&gt;
&lt;br /&gt;
* [[Service - CommerceAccounting Inventory]]&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Service Stack - CommerceAccounting Inventory| Service Stack - CommerceAccounting Inventory]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_Stack_-_CommerceAccounting_Expenses&amp;diff=4300</id>
		<title>Service Stack - CommerceAccounting Expenses</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_Stack_-_CommerceAccounting_Expenses&amp;diff=4300"/>
		<updated>2026-04-17T09:22:14Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Services that manage expenses.&lt;br /&gt;
&lt;br /&gt;
= Services =&lt;br /&gt;
&lt;br /&gt;
== Expenses ==&lt;br /&gt;
&lt;br /&gt;
* [[Service - CommerceAccounting Expense]]&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - Service Stack - CommerceAccounting Expenses| Service Stack - CommerceAccounting Expenses]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4297</id>
		<title>Service - CommerceAccounting Purchase</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4297"/>
		<updated>2026-04-16T13:54:55Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handle links between purchases and Accounting records.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// accountLinkTag // type of link: inputVAT|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sets which Accounting accountId journal entries are added to&lt;br /&gt;
&lt;br /&gt;
== comAccPurchase ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		inputVatJournalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			optionalOnCreate: true,&lt;br /&gt;
			canUpdate: true,&lt;br /&gt;
			storageResourceTags: [&amp;quot;dynamo&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLineItem ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		// purchaseLineItemId,&lt;br /&gt;
		// journalId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseLineItemId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
== createPurchase ==&lt;br /&gt;
&lt;br /&gt;
* when creating a purchase, iterate purchaseLineItems to decide which journal entries are created&lt;br /&gt;
* accountsPayable accountId comes from [[Service - CommerceAccounting Vendor]]&lt;br /&gt;
* each purchaseLineItem checks it&#039;s type then finds accountId from coresponding comAcc service&lt;br /&gt;
&lt;br /&gt;
=== Example request param from Commerce ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	belongToIdentifiers: {&lt;br /&gt;
	  businessId: &amp;quot;xxx&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	purchaseId: &amp;quot;&amp;quot;,&lt;br /&gt;
	vendorId: &amp;quot;&amp;quot;,&lt;br /&gt;
	purchaseCurrencyId: &amp;quot;&amp;quot;,&lt;br /&gt;
	inventoryLocationId: &amp;quot;&amp;quot;, // required if have any inventory/?assets&lt;br /&gt;
	purchaseLineItems: {&lt;br /&gt;
		{purchaseLineItemId}: {&lt;br /&gt;
			Type: &amp;quot;&amp;quot;, // inventory|expense|services|freight|salesTax|vatTax|other&lt;br /&gt;
			SubType: &amp;quot;&amp;quot;, // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, freight: standard, order: standard&lt;br /&gt;
			lineItemQuantity: 1,&lt;br /&gt;
			lineItemUnitPrice: &amp;quot;2.00&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		//...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== updatePurchase ==&lt;br /&gt;
&lt;br /&gt;
* make adjustment to journal entries when purchaseLineItemId changes&lt;br /&gt;
* handle removal of purchase/journal entries, or creation of new entries&lt;br /&gt;
* basically re-calculate all entries and check against existing&lt;br /&gt;
* each journalId must check Accounting that it&#039;s period/s are not locked, if locked return error, cannot make update&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Purchase| CommerceAccounting Purchase]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Purchase]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4296</id>
		<title>Service - CommerceAccounting Purchase</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4296"/>
		<updated>2026-04-16T13:45:20Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: /* purchaseChange */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handle links between purchases and Accounting records.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// accountLinkTag // type of link: inputVAT|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sets which Accounting accountId journal entries are added to&lt;br /&gt;
&lt;br /&gt;
== comAccPurchase ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		inputVatJournalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			optionalOnCreate: true,&lt;br /&gt;
			canUpdate: true,&lt;br /&gt;
			storageResourceTags: [&amp;quot;dynamo&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLineItem ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		// purchaseLineItemId,&lt;br /&gt;
		// journalId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseLineItemId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
== createPurchase ==&lt;br /&gt;
&lt;br /&gt;
* when creating a purchase, iterate purchaseLineItems to decide which journal entries are created&lt;br /&gt;
* accountsPayable accountId comes from [[Service - CommerceAccounting Vendor]]&lt;br /&gt;
* each purchaseLineItem checks it&#039;s type then finds accountId from coresponding comAcc service&lt;br /&gt;
&lt;br /&gt;
=== Example request param from Commerce ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	belongToIdentifiers: {&lt;br /&gt;
	  businessId: &amp;quot;xxx&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	purchaseId: &amp;quot;&amp;quot;,&lt;br /&gt;
	vendorId: &amp;quot;&amp;quot;,&lt;br /&gt;
	purchaseCurrencyId: &amp;quot;&amp;quot;,&lt;br /&gt;
	purchaseLineItems: {&lt;br /&gt;
		{purchaseLineItemId}: {&lt;br /&gt;
			Type: &amp;quot;&amp;quot;, // inventory|expense|services|freight|salesTax|vatTax|other&lt;br /&gt;
			SubType: &amp;quot;&amp;quot;, // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, freight: standard, order: standard&lt;br /&gt;
			lineItemQuantity: 1,&lt;br /&gt;
			lineItemUnitPrice: &amp;quot;2.00&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		//...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== updatePurchase ==&lt;br /&gt;
&lt;br /&gt;
* make adjustment to journal entries when purchaseLineItemId changes&lt;br /&gt;
* handle removal of purchase/journal entries, or creation of new entries&lt;br /&gt;
* basically re-calculate all entries and check against existing&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Purchase| CommerceAccounting Purchase]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Purchase]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4295</id>
		<title>Service - CommerceAccounting Purchase</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Purchase&amp;diff=4295"/>
		<updated>2026-04-16T13:43:48Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Handle links between purchases and Accounting records.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// accountLinkTag // type of link: inputVAT|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sets which Accounting accountId journal entries are added to&lt;br /&gt;
&lt;br /&gt;
== comAccPurchase ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchase&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId,&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		inputVatJournalId: {&lt;br /&gt;
			type: &amp;quot;string&amp;quot;,&lt;br /&gt;
			optionalOnCreate: true,&lt;br /&gt;
			canUpdate: true,&lt;br /&gt;
			storageResourceTags: [&amp;quot;dynamo&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;businessId&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccPurchaseLineItem ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccPurchaseLineItem&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// purchaseId,&lt;br /&gt;
		// purchaseLineItemId,&lt;br /&gt;
		// journalId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;purchaseLineItemId&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
== createPurchase ==&lt;br /&gt;
&lt;br /&gt;
* when creating a purchase, iterate purchaseLineItems to decide which journal entries are created&lt;br /&gt;
* accountsPayable accountId comes from [[Service - CommerceAccounting Vendor]]&lt;br /&gt;
* each purchaseLineItem checks it&#039;s type then finds accountId from coresponding comAcc service&lt;br /&gt;
&lt;br /&gt;
=== Example request param from Commerce ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	belongToIdentifiers: {&lt;br /&gt;
	  businessId: &amp;quot;xxx&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	purchaseId: &amp;quot;&amp;quot;,&lt;br /&gt;
	vendorId: &amp;quot;&amp;quot;,&lt;br /&gt;
	purchaseCurrencyId: &amp;quot;&amp;quot;,&lt;br /&gt;
	purchaseLineItems: {&lt;br /&gt;
		{purchaseLineItemId}: {&lt;br /&gt;
			Type: &amp;quot;&amp;quot;, // inventory|expense|services|freight|salesTax|vatTax|other&lt;br /&gt;
			SubType: &amp;quot;&amp;quot;, // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, freight: standard, order: standard&lt;br /&gt;
			lineItemQuantity: 1,&lt;br /&gt;
			lineItemUnitPrice: &amp;quot;2.00&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		//...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== purchaseChange ==&lt;br /&gt;
&lt;br /&gt;
* make adjustment to journal entries when purchaseLineItemId changes&lt;br /&gt;
* handle removal of purchase/journal entries, or creation of new entries&lt;br /&gt;
* basically re-calculate all entries and check against existing&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Purchase| CommerceAccounting Purchase]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Purchase]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Services&amp;diff=4294</id>
		<title>Service - CommerceAccounting Services</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Services&amp;diff=4294"/>
		<updated>2026-04-16T13:03:04Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Links Services objects to Accounting structures.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccServicesLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccServicesLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccServicesLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// servicesId&lt;br /&gt;
		// accountLinkTag // type of link: servicesExpense|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;,&amp;quot;servicesId&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccServicesTemplateLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccServicesTemplateLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccServicesTemplateLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// servicesTemplateId&lt;br /&gt;
		// accountLinkTag // type of link: servicesExpense|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;, &amp;quot;servicesTemplateId&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccServicesTypeLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccServicesTypeLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccServicesTypeLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// servicesType // pointInTime|overTime&lt;br /&gt;
		// accountLinkTag // type of link: servicesExpense|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;, &amp;quot;servicesType&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Services| CommerceAccounting Services]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Services]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Other_Purchase_Item&amp;diff=4293</id>
		<title>Service - CommerceAccounting Other Purchase Item</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Other_Purchase_Item&amp;diff=4293"/>
		<updated>2026-04-16T13:02:57Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Links Other Purchase Item objects to Accounting structures.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccOtherPurchaseItemLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccOtherPurchaseItemLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccOtherPurchaseItemLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// otherPurchaseItemId&lt;br /&gt;
		// accountLinkTag // type of link: expenseEntry|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;,&amp;quot;otherPurchaseItemId&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccOtherPurchaseItemTypeLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccOtherPurchaseItemTypeLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccOtherPurchaseItemTypeLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// otherPurchaseItemType // standard&lt;br /&gt;
		// accountLinkTag // type of link: expenseEntry|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;, &amp;quot;otherPurchaseItemType&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Other Purchase Item| CommerceAccounting Other Purchase Item]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Other Purchase Item]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
	<entry>
		<id>https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Freight_In&amp;diff=4292</id>
		<title>Service - CommerceAccounting Freight In</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=Service_-_CommerceAccounting_Freight_In&amp;diff=4292"/>
		<updated>2026-04-16T13:02:34Z</updated>

		<summary type="html">&lt;p&gt;Sven the Barbarian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Links Freight In objects to Accounting structures.&lt;br /&gt;
&lt;br /&gt;
= Repository =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Object Schemas =&lt;br /&gt;
; Additional Information: [[Per Service Schemas]]&lt;br /&gt;
&lt;br /&gt;
== comAccFreightInLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccFreightInLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccFreightInLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// purchaseLineItemType // inventory|expense|services|other&lt;br /&gt;
		// purchaseLineItemSubType // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, other: standard&lt;br /&gt;
		// freightInId&lt;br /&gt;
		// accountLinkTag // type of link: freightIn&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;,&amp;quot;purchaseLineItemType&amp;quot;,&amp;quot;purchaseLineItemSubType&amp;quot;,&amp;quot;freightInId&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comAccFreightInTypeLink ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	objectType: &amp;quot;comAccFreightInTypeLink&amp;quot;,&lt;br /&gt;
	canDelete: false,&lt;br /&gt;
	belongTo: {&lt;br /&gt;
		serviceTag: &amp;quot;ComAccLink&amp;quot;,&lt;br /&gt;
		objectType: &amp;quot;comAccLinkByBusiness&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	addOnDataStructure: [],&lt;br /&gt;
	storageResources: {&lt;br /&gt;
		&amp;quot;dynamo&amp;quot;: {&lt;br /&gt;
			&amp;quot;storageType&amp;quot;: &amp;quot;dynamoDB&amp;quot;,&lt;br /&gt;
			&amp;quot;tableName&amp;quot;: &amp;quot;comAccFreightInTypeLink&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
    fieldNames: {&lt;br /&gt;
		// businessId&lt;br /&gt;
		// purchaseLineItemType // inventory|expense|services|other&lt;br /&gt;
		// purchaseLineItemSubType // inventory: goods|intangibleGoods|rawMaterial|asset|intangibleAsset, expense: pointInTime|overTime, services: pointInTime|overTime, other: standard&lt;br /&gt;
		// accountLinkTag // type of link: inventoryAsset|..&lt;br /&gt;
		// accountId&lt;br /&gt;
    },&lt;br /&gt;
    identifiers: [&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;partitionKey&amp;quot;,&lt;br /&gt;
			fieldNames: [&amp;quot;businessId&amp;quot;,&amp;quot;purchaseLineItemType&amp;quot;,&amp;quot;purchaseLineItemSubType&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			type: &amp;quot;sortKey&amp;quot;,&lt;br /&gt;
			fieldName: &amp;quot;accountLinkTag&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relationships ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= flowSchemas =&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
= Working documents =&lt;br /&gt;
&lt;br /&gt;
[[:Category:Working_documents - CommerceAccounting Freight In| CommerceAccounting Freight In]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Backend services| CommerceAccounting Freight In]]&lt;/div&gt;</summary>
		<author><name>Sven the Barbarian</name></author>
	</entry>
</feed>