Service - CommerceAccounting Customer: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= Overview =
= Overview =


Connects each customer to their Accounting accounts, such as accountsReceivable
Connects each customer to their Accounting accounts, such as accountsReceivable, and vice versa


= Repository =
= Repository =
Line 9: Line 9:
= Object Schemas =
= Object Schemas =
; Additional Information: [[Per Service Schemas]]
; Additional Information: [[Per Service Schemas]]
== comAccCustomerLink ==


<syntaxhighlight lang="JavaScript">
<syntaxhighlight lang="JavaScript">
{
{
objectType: "comAccCustomerAccountsRecievableLink",
objectType: "comAccCustomerLink",
canDelete: false,
canDelete: false,
belongTo: {
belongTo: {
serviceTag: "ComAccLink",
serviceTag: "ComAccLink",
objectType: "comAccLink"
objectType: "comAccLinkByBusiness"
},
},
addOnDataStructure: [],
addOnDataStructure: [],
Line 22: Line 24:
"dynamo": {
"dynamo": {
"storageType": "dynamoDB",
"storageType": "dynamoDB",
"tableName": "comAccCustomerAccountsRecievableLink",
"tableName": "comAccCustomerLink",
}
}
"graph": {}
     },
     },
     fieldNames: {
     fieldNames: {
// probably have two dynamo tables, one identified by customerId, one by accountId
// businessId
// customerId
// accountlinkTag // type of link: accountsReceivable|..
// accountId
     },
     },
     identifiers: [
     identifiers: [
{
{
// see above note
type: "partitionKey",
fieldNames: ["businessId","customerId"],
},
{
fieldName: "accountlinkTag"
},
    ]
}
</syntaxhighlight>
 
== comAccDefaultCustomerLink ==
 
<syntaxhighlight lang="JavaScript">
{
objectType: "comAccDefaultCustomerLink",
canDelete: false,
belongTo: {
serviceTag: "ComAccLink",
objectType: "comAccLinkByBusiness"
},
addOnDataStructure: [],
storageResources: {
"dynamo": {
"storageType": "dynamoDB",
"tableName": "comAccDefaultCustomerLink",
}
}
"graph": {}
    },
    fieldNames: {
// businessId
// accountlinkTag // type of link: accountsReceivable|..
// accountId
    },
    identifiers: [
{
type: "partitionKey",
fieldNames: ["businessId"],
},
{
fieldName: "accountlinkTag"
},
     ]
     ]
}
}
Line 43: Line 87:
= flowSchemas =
= flowSchemas =


== customerCreated ==
== createSale ==


* creates an Accounting AccountsRecievable account and a link in comAccCustomerAccountsRecievableLink
* sends request to Accounting to create entries in comAccCustomerLink.accountlinkTag = accountsReceivable account
* or maybe returns accountId to Sales createSale flow which sends to Accounting


= Working documents =
= Working documents =

Revision as of 12:03, 15 April 2026

Overview

Connects each customer to their Accounting accounts, such as accountsReceivable, and vice versa

Repository

...

Object Schemas

Additional Information
Per Service Schemas

comAccCustomerLink

{
	objectType: "comAccCustomerLink",
	canDelete: false,
	belongTo: {
		serviceTag: "ComAccLink",
		objectType: "comAccLinkByBusiness"
	},
	addOnDataStructure: [],
	storageResources: {
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccCustomerLink",
		}
		"graph": {}
    },
    fieldNames: {
		// businessId
		// customerId
		// accountlinkTag // type of link: accountsReceivable|..
		// accountId
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldNames: ["businessId","customerId"],
		},
		{
			fieldName: "accountlinkTag"
		},
    ]
}

comAccDefaultCustomerLink

{
	objectType: "comAccDefaultCustomerLink",
	canDelete: false,
	belongTo: {
		serviceTag: "ComAccLink",
		objectType: "comAccLinkByBusiness"
	},
	addOnDataStructure: [],
	storageResources: {
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccDefaultCustomerLink",
		}
		"graph": {}
    },
    fieldNames: {
		// businessId
		// accountlinkTag // type of link: accountsReceivable|..
		// accountId
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldNames: ["businessId"],
		},
		{
			fieldName: "accountlinkTag"
		},
    ]
}

Relationships

...

flowSchemas

createSale

  • sends request to Accounting to create entries in comAccCustomerLink.accountlinkTag = accountsReceivable account
  • or maybe returns accountId to Sales createSale flow which sends to Accounting

Working documents

CommerceAccounting Customer