ExpenseMaster
Backend
1. RevenueCategoryMaster
// fields ending with "*" suffix are required
ensure spreadsheet: RevenueCategoryMaster
withFields: ["RevenueCategory*"]
ofTypes: [text]
modules: ["Expense"]
readRoleSet: [Member]
insertRoleSet: [Member]
updateRoleSet: [Member]
removeRoleSet: [Member]
ensure spreadsheet: RevenueCategoryMaster
searchables: [Details.RevenueCategory]
queryables: [Details.RevenueCategory]
ensure layoutSpreadsheet ListLayout kind: list
filter.kind: tree
filter.showSearchBar: true
firstLine.first.lineFields: [Details.RevenueCategory]
ensure layoutSpreadsheet TableLayout kind: table
showComps: [Details.RevenueCategory]
ensure form EntityRevenueCategory modules: ["Expense"]
ensure section: Details
ensure field RevenueCategory label: "Category"
2. RevenueMaster
// fields ending with "*" suffix are required
ensure spreadsheet: RevenueMaster
withFields: ["RevenueName*", "RefCategory"]
ofTypes: [text, ref]
modules: ["Expense"]
readRoleSet: [Member]
insertRoleSet: [Member]
updateRoleSet: [Member]
removeRoleSet: [Member]
clearRoleSet: [Member]
ensrue spreadsheet RevenueMaster
searchables: [Details.RevenueName]
queryables: [Details.RevenueName]
ensure form EntityRevenue
ensure composite Details
ensure field RefCategory
spreadsheet: RevenueCategoryMaster
copyFieldMap: {
'RevenueCategory': 'RevenueCategory',
'RevenueCategoryMasterRowId': '$RowId'
}
layoutSpreadsheet: ListLayout
layoutSpreadsheet: ListLayout
ensure field Description kind: paragraph
ensure field RevenueCategoryMasterRowId
permissionMatrix: {
'defaultPermission': 'invisible'
}
ensure spreadsheet RevenueMaster
ensure layoutSpreadsheet ListLayout kind: list
firstLine.first.lineFields: [Details.RevenueName]
firstLine.caption.lineFields: [Details.RevenueCategory]
secondLine.first.lineFields: [Details.Description]
Frontend
1. Actions
a. CreditSubCategory
ensure action CreditSubCategory kind: spreadsheetEditor
label: "Credit Sub Category"
modules: ["Expense"]
icon: "FormatListBulletedRounded"
spreadsheet: RevenueCategoryMaster
layoutSpreadsheet: ListLayout
b. CreidtCategory
ensure action CreidtCategory kind: spreadsheetEditor
label: "Creidt Category"
modules: ["Expense"]
icon: "ListAltRounded"
spreadsheet: RevenueMaster
layoutSpreadsheet: ListLayout
2. Group actions
ensure group QuickBooks
actionPermission: {
'CreditSubCategory': {
'menuGroup': '2',
'roles': [
'Member'
]
},
'CreidtCategory': {
'menuGroup': '2',
'roles': [
'Member'
]
}
}