Service - CommerceAccounting Link: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
Mint (talk | contribs)
No edit summary
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 15: Line 15:
{
{
objectType: "comAccLinkByBusiness",
objectType: "comAccLinkByBusiness",
generatedBy: "systemGenerated",
canDelete: false,
canDelete: false,
belongTo: {
serviceTag: "User",
objectType: "user"
},
addOnDataStructure: [
addOnDataStructure: [
      {
{
          type:"rbac"
type:"rbac"
      }
},
 
     ],
     ],
storageResources: {
storageResources: {
Line 50: Line 46:
     identifiers: [
     identifiers: [
{
{
// businessId
type: "partitionKey",
}
fieldName: "businessId",
},
{
type: "sortKey",
fieldName: "organizationId"
},
     ]
     ]
}
}
Line 61: Line 62:
{
{
objectType: "comAccLinkByOrganization",
objectType: "comAccLinkByOrganization",
generatedBy: "systemGenerated",
canDelete: false,
canDelete: false,
belongTo: {
serviceTag: "User",
objectType: "user"
},
addOnDataStructure: [],
addOnDataStructure: [],
storageResources: {
storageResources: {
Line 79: Line 77:
     identifiers: [
     identifiers: [
{
{
// organizationId
type: "partitionKey",
}
fieldName: "organizationId",
},
{
type: "sortKey",
fieldName: "businessId"
},
     ]
     ]
}
}
Line 90: 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 106: Line 110:
fromObjType:{
fromObjType:{
  serviceTag: "CommerceAccountingLink",
  serviceTag: "CommerceAccountingLink",
  objectType: "comAccLink"  
  objectType: "comAccLinkByBusiness"  
},
},
},
},
Line 112: Line 116:
fromObjType:{
fromObjType:{
  serviceTag: "CommerceAccountingLink",
  serviceTag: "CommerceAccountingLink",
  objectType: "comAccLink"  
  objectType: "comAccLinkByOrganization"  
},
},
},
},
Line 133: Line 137:
{
{
type: "partitionKey",
type: "partitionKey",
fieldNames: ["businessId","organizationId"],
fieldNames: ["businessId", "organizationId"],
name: "comAccLinkId",
name: "comAccLinkId",
},
},

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