Service - CommerceAccounting Customer: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
 
(4 intermediate revisions by the same user not shown)
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",
}
}
     },
     },
     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"],
},
{
type: "sortKey",
fieldName: "accountLinkTag"
},
    ]
}
</syntaxhighlight>
 
== comAccDefaultCustomerLink ==
 
<syntaxhighlight lang="JavaScript">
{
objectType: "comAccDefaultCustomerLink",
canDelete: false,
belongTo: {
serviceTag: "ComAccLink",
objectType: "comAccLinkByBusiness"
},
addOnDataStructure: [],
storageResources: {
"dynamo": {
"storageType": "dynamoDB",
"tableName": "comAccDefaultCustomerLink",
}
}
    },
    fieldNames: {
// businessId
// accountLinkTag // type of link: accountsReceivable|..
// accountId
    },
    identifiers: [
{
type: "partitionKey",
fieldName: "businessId",
},
{
type: "sortKey",
fieldName: "accountLinkTag"
},
     ]
     ]
}
}
Line 43: Line 87:
= flowSchemas =
= flowSchemas =


== customerCreated ==
== 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
 
= accountLinkTag =


* creates an Accounting AccountsRecievable account and a link in comAccCustomerAccountsRecievableLink
== accountsReceivable ==


= Working documents =
= Working documents =

Latest revision as of 12:59, 16 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",
		}
    },
    fieldNames: {
		// businessId
		// customerId
		// accountLinkTag // type of link: accountsReceivable|..
		// accountId
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldNames: ["businessId","customerId"],
		},
		{
			type: "sortKey",
			fieldName: "accountLinkTag"
		},
    ]
}

comAccDefaultCustomerLink

{
	objectType: "comAccDefaultCustomerLink",
	canDelete: false,
	belongTo: {
		serviceTag: "ComAccLink",
		objectType: "comAccLinkByBusiness"
	},
	addOnDataStructure: [],
	storageResources: {
		"dynamo": {
			"storageType": "dynamoDB",
			"tableName": "comAccDefaultCustomerLink",
		}
    },
    fieldNames: {
		// businessId
		// accountLinkTag // type of link: accountsReceivable|..
		// accountId
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldName: "businessId",
		},
		{
		type: "sortKey",
		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

accountLinkTag

accountsReceivable

Working documents

CommerceAccounting Customer