Service - CommerceAccounting Link: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
Created page with "= Overview = Configures the link between a Business in Izara Commerce and an organization in Izara Accounting. = Repository = ... = Object Schemas = ; Additional Information: Per Service Schemas == comAccLink == <syntaxhighlight lang="JavaScript"> { objectType: "comAccLink", canDelete: false, belongTo: { serviceTag: "User", objectType: "user" }, addOnDataStructure: [], storageResources: { "dynamo": { "storageType": "dynamoDB", "tableName": "co..."
 
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 10: Line 10:
; Additional Information: [[Per Service Schemas]]
; Additional Information: [[Per Service Schemas]]


== comAccLink ==
== comAccLinkByBusiness ==


<syntaxhighlight lang="JavaScript">
<syntaxhighlight lang="JavaScript">
{
{
objectType: "comAccLink",
objectType: "comAccLinkByBusiness",
generatedBy: "systemGenerated",
canDelete: false,
addOnDataStructure: [
{
type:"rbac"
},
    ],
storageResources: {
        "myGraph":{
            "storageType": "graph",
            "graphServerTag": "GraphHandler"
        },
"dynamo": {
"storageType": "dynamoDB",
"tableName": "comAccLinkByBusiness",
}
    },
    fieldNames: {
businessId:{
            type: "string",
requriedOnCreate: true,
storageResourceTags: ['myGraph','dynamo']
        },
organizationId:{
            type: "string",
requriedOnCreate: true,
storageResourceTags: ['myGraph','dynamo']
        }
    },
    identifiers: [
{
type: "partitionKey",
fieldName: "businessId",
},
{
type: "sortKey",
fieldName: "organizationId"
},
    ]
}
</syntaxhighlight>
 
== comAccLinkByOrganization ==
 
<syntaxhighlight lang="JavaScript">
{
objectType: "comAccLinkByOrganization",
generatedBy: "systemGenerated",
canDelete: false,
canDelete: false,
belongTo: {
serviceTag: "User",
objectType: "user"
},
addOnDataStructure: [],
addOnDataStructure: [],
storageResources: {
storageResources: {
"dynamo": {
"dynamo": {
"storageType": "dynamoDB",
"storageType": "dynamoDB",
"tableName": "comAccLink",
"tableName": "comAccLinkByOrganization",
}
}
     },
     },
     fieldNames: {
     fieldNames: {
// probably have two dynamo tables, one identified by businessId, one by organizationId
// organizationId
// businessId
     },
     },
     identifiers: [
     identifiers: [
{
{
// see above note
type: "partitionKey",
}
fieldName: "organizationId",
},
{
type: "sortKey",
fieldName: "businessId"
},
     ]
     ]
}
}
Line 44: Line 93:
{
{
objectType: "comAccAccountLink",
objectType: "comAccAccountLink",
generatedBy: "userGenerated",
canDelete: true,
canDelete: true,
belongTo: {
belongTo: {
serviceTag: "User",
serviceTag: "CommerceAccountingLink",
objectType: "user"
objectType: "comAccLinkByBusiness"
},
},
addOnDataStructure: [],
addOnDataStructure: [],
Line 60: Line 110:
fromObjType:{
fromObjType:{
  serviceTag: "CommerceAccountingLink",
  serviceTag: "CommerceAccountingLink",
  objectType: "comAccLink"  
  objectType: "comAccLinkByBusiness"  
},
},
},
},
Line 66: Line 116:
fromObjType:{
fromObjType:{
  serviceTag: "CommerceAccountingLink",
  serviceTag: "CommerceAccountingLink",
  objectType: "comAccLink"  
  objectType: "comAccLinkByOrganization"  
},
},
},
},
Line 87: Line 137:
{
{
type: "partitionKey",
type: "partitionKey",
fieldNames: ["businessId","organizationId"],
fieldNames: ["businessId", "organizationId"],
name: "comAccLinkId",
name: "comAccLinkId",
},
},
Line 98: Line 148:
</syntaxhighlight>
</syntaxhighlight>


* sets up which Accounting Accounts are used for different connection tasks
* example: which Accounting Account is adjusted when stock increases/decreases
* will need to have a plugIn level shared const lib of all accountTags
* will need to have a plugIn level shared const lib of all accountTags



Latest revision as of 13:37, 10 August 2026

Overview

Configures the link between a Business in Izara Commerce and an organization in Izara Accounting.

Repository

...

Object Schemas

Additional Information
Per Service Schemas

comAccLinkByBusiness

{
	objectType: "comAccLinkByBusiness",
	generatedBy: "systemGenerated",
	canDelete: false,
	addOnDataStructure: [
		{
			type:"rbac"
		},
    ],
	storageResources: {
        "myGraph":{
            "storageType": "graph",
            "graphServerTag": "GraphHandler"
        },
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccLinkByBusiness",
		}
    },
    fieldNames: {
		 businessId:{
            type: "string",
			requriedOnCreate: true,
			storageResourceTags: ['myGraph','dynamo']
         },		
		 organizationId:{
            type: "string",
			requriedOnCreate: true,
			storageResourceTags: ['myGraph','dynamo']
         }		
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldName: "businessId",
		},
		{
			type: "sortKey",
			fieldName: "organizationId"
		},
    ]
}

comAccLinkByOrganization

{
	objectType: "comAccLinkByOrganization",
	generatedBy: "systemGenerated",
	canDelete: false,
	addOnDataStructure: [],
	storageResources: {
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccLinkByOrganization",
		}
    },
    fieldNames: {
		// organizationId
		// businessId		
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldName: "organizationId",
		},
		{
			type: "sortKey",
			fieldName: "businessId"
		},
    ]
}

comAccAccountLink

{
	objectType: "comAccAccountLink",
	generatedBy: "userGenerated",
	canDelete: true,
	belongTo: {
		serviceTag: "CommerceAccountingLink",
		objectType: "comAccLinkByBusiness"
	},
	addOnDataStructure: [],
	storageResources: {
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccAccountLink",
		}
    },
    fieldNames: {
		businessId: {
			fromObjType:{
			  serviceTag: "CommerceAccountingLink",
			  objectType: "comAccLinkByBusiness" 
			},
		},
		organizationId: {
			fromObjType:{
			  serviceTag: "CommerceAccountingLink",
			  objectType: "comAccLinkByOrganization" 
			},
		},
		accountTag: { // this is the granular accounting classification that actions need to add entries to
			type: "string",
			requiredOnCreate: true,
			canUpdate: false,
			userCanUpdate: false,
			storageResourceTags: ["dynamo"],
		},
		accountId: { // accountId from Izara Accounting
			type: "string",
			requiredOnCreate: true,
			canUpdate: true,
			userCanUpdate: true,
			storageResourceTags: ["dynamo"],
		},
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldNames: ["businessId", "organizationId"],
			name: "comAccLinkId",
		},
		{
			type: "sortKey",
			fieldName: "accountTag"
		},
    ]
}
  • sets up which Accounting Accounts are used for different connection tasks
  • example: which Accounting Account is adjusted when stock increases/decreases
  • will need to have a plugIn level shared const lib of all accountTags

Relationships

...

Working documents

CommerceAccounting Link