Views: 23
Setting Up Account Segments and Customized Account Segment Tables
Nobuyuki SAMBUICHI
ISO/TC295 Audit data services/SG1 Semantic model Convener
1. Proposal to Simplify Account Segment and Customized Segment for Ease of Understanding and Efficiency
I would like to propose a simplification of the account segment and customized segment structure in ISO 21378:2019. As it currently stands, the complex structure tends to create hurdles both in understanding and in practical application. It potentially leads to errors during data entry and could consume more computer power than necessary, both of which adversely impact the user experience and efficiency.
Pros of the Current Structure:
-
Comprehensive: The existing structure is highly detailed, accounting for a broad range of potential scenarios and use cases.
-
Flexible: It caters to both pre-defined and custom account segments, which allows for significant customization to meet specific business needs.
Cons of the Current Structure:
-
Complexity: The intricate structure can be challenging to comprehend and implement, especially for users with limited technical knowledge.
-
Data Entry Errors: The high level of detail and manual data entry points increase the chances of human error.
-
Resource-Intensive: The structure might be resource-intensive, especially for systems with limited computing power.
Recommendations:
-
User-Friendly Design: Revise the structure to focus more on user needs. This could involve simplifying table setups, minimizing manual entry points, and creating a more intuitive flow of data between tables.
-
Automation: Implementing automation where possible would minimize data entry errors.
-
Modular Structure: Implementing a modular structure would allow the system to adapt to varying levels of complexity as per user needs. Simple operations would use a basic set of tables, and additional tables could be added for more complex scenarios.
-
Guidelines and Training: Provide clear guidelines and comprehensive training to users, emphasizing best practices for data entry and management. This approach would mitigate the chances of errors and improve understanding.
-
Optimization: Review the structure for potential areas of optimization to reduce the load on computing resources.
I firmly believe that simplifying the account segment and customized segment structure would not only streamline the user experience but also improve overall system performance and reliability. I welcome any feedback or further discussion on the recommendations outlined above.
The simplest way is just define extra fields for Account-sub Type Code and Account-sub type Value for GL_Details and other tables like followings.
Journal_ID | Other GL_Detail fields | Account-sub Type Code | Account-sub type Value |
---|---|---|---|
‘1122’ |
values for fields of ‘1122’ |
‘Expense Type’ |
‘Office Supplies’ |
‘1123’ |
values for fields of ‘1122’ |
‘Utilities’ |
More complicated usage check section 4.
In simplifying the current system while maintaining its depth and functionality, I propose the following Unified Table Structure:
Unified Account Segment Table:
GL_Account_Number | Account_Segment_Number | Account_Segment_Name | Corresponding_File | Customized_ACC_Segment_Code | Account_Segment_Value | Segment_Description | Hierarchy_Flag | Parent_ACC_Value_Code | Parent_ACC_Value_Name |
---|---|---|---|---|---|---|---|---|---|
1122 |
0 |
Employee |
BAS_Employee |
NULL |
x2113 |
Bob |
NULL |
NULL |
NULL |
1122 |
1 |
Custom_Segment |
BAS_Custom_Segment |
s05 |
c08 |
Beijing |
1 |
c |
China |
1122 |
2 |
Customer |
BAS_Customer |
NULL |
ch010101 |
Centre hospital |
NULL |
NULL |
NULL |
In the proposed unified table, each row would carry the comprehensive information for each account segment. It incorporates fields from the Account Segment, Customized Account Segment, and Customized Account Segment Value tables in the current model. This new layout will reduce the need for multiple table lookups, resulting in lower computational resource consumption and simplified data entry and retrieval processes.
Please note that this is a simplified model and might need to be further expanded or adjusted based on the specific needs of different accounting scenarios. It serves as a stepping stone towards a more simplified and user-friendly structure.
2. Customized Account Segment and Customized Account Value
2.1. Overview
Figure 1 displays the relationships between the tables.
Figure 1 – Relationships between the tables related to the Customized_Account_Segment and the Customized_Account_Value
The process of retrieving information is comprised of these steps:
-
The “GL_Account_Segment” table utilizes a unique combination of GL_Account_Number and Account_Segment_Number. The GL_Account_Number corresponds to the same value in the “GL_Details” table. The Account_Segment_Number matches the X value in the field named Account_Segment_X in the “GL_Details” table. Searching the “GL_Account_Segment” table with this unique combination yields Corresponding_File and Customized_ACC_Segment_Code.
-
If Corresponding_File equals “BAS_Customized_ACC_Segment”, then you should use the returned Customized_ACC_Segment_Code to look up in the “BAS_Customized_ACC_Segment” table, where it acts as a key to find the associated Customized_Account_Segment_Name.
-
The “BAS_Customized_ACC_Value” table uses a unique key made of a combination of Customizad_ACC_Value_Code and Customized_ACC_Segment_Code. The Customizad_ACC_Value_Code matches the value of Account_Segment_X in the “GL_Details” table. The Customized_ACC_Segment_Code, fetched from the “GL_Account_Segment” table, corresponds to the keys in both “BAS_Customized_ACC_Segment” and “BAS_Customized_ACC_Value” tables. Searching the “BAS_Customized_ACC_Value” table with this unique key returns the Customizad_ACC_Value_Name. The data associated with Account_Segment_X in the “GL_Details” table aligns with the values of Customized_Account_Segment_Name from the “BAS_Customized_ACC_Segment” table and Customized_Account_Value_Name from the “BAS_Customized_ACC_Value” table.
Figure 2 shows an example of a record and the business meaning of each field.
Figure 2 – Example of a record in the GL_Details table
The GL_Account_Number field refers to an identifier with a corresponding reference field GL_Account_Number in the “BAS_Chart_Of_Accounts” table. This allows you to find account information by searching the “BAS_Chart_Of_Accounts” table using the unique key GL_Account_Number. We will explain how to derive the meanings of the account segments in the following sections.
Table 1 shows the values listed in GL_Account_Segment.
Table 1 – GL_Account_Segment
GL_Account_Number |
Account_Segment_Name |
Account_Segment_Number |
Corresponding_File |
Customized_ACC_Segment_Code |
1122 |
Account_Segment_Employee |
0 |
BAS_Employee |
null |
1122 |
Account Segment Project |
0 |
BAS_Project |
null |
1122 |
Account_Segment_Bank_Account |
0 |
BAS_Bank_Account |
null |
1122 |
Account Segment Region |
1 |
BAS_Customized_ACC_Segment |
s05 |
1122 |
Account Segment Customer |
2 |
BAS_Customer |
null |
2.2. Corresponding_File is a predetermined account segment table
Figure 3 shows how to find the meaning of Account_Segment_Employee in “GL_Details” table. “Account_Segment_Employee” is a predetermined Account Segment.
Figure 3 – Retrieving Account_Segment_Employee in GL_Details
The “GL_Account_Segment” table specifies certain predefined Account Segments that possess an Account_Segment_Number value of 0. These include “BAS_Employee”, “BAS_Project”, and “BAS_Bank_Account”. In our data schema, field names are adapted to reflect this specification, thus we have “Account_Segment_Employee”, “Account_Segment_Project”, and “Account_Segment_Bank_Account” instead of “Account_Segment_0”. In this example, we’ll focus on “Account_Segment_Employee”.
The process of retrieving information consists of these steps:
-
When you search the “GL_Account_Segment” table using the GL_Account_Number “1122” (extracted from the “GL_Details” table) and Account_Segment_Name “Account_Segment_Employee”, the search will yield a Corresponding_File labeled “Employee”.
-
The value located under Account_Segment_Employee in the “GL_Details” table serves as a unique key for the “BAS_Employee” table. So if you search the “BAS_Employee” table using this unique key (say “x2113”), the result will be a specific Employee record. For example, Account_Segment_Employee value “x2113” correlates to an employee named “Bob” with User_ID “am03”.
Table 2 shows the relationship between tables for the Corresponding_File Employee.
Table 2 – Corresponding_File Employee
property |
GL Detail |
GL_Account_Segment |
BAS_Employee |
GL_Account_Number |
1122 |
1122 |
– |
Account_Segment_Employee |
x2133 |
– |
– |
Name |
– |
Account_Segment_Employee |
– |
Number |
– |
0 |
– |
Corresponding_File |
– |
BAS_Employee |
– |
Employee Code |
– |
– |
x2133 |
2.3. Explaining Corresponding_File as defined in ISO 21378:2019
Figure 4 shows how to understand the value of Account_Segment_2 in the “GL_Details” table.
Figure 4 – Understanding the value of Account_Segment_2 in the GL_Details table
To find the meaning of this value, we follow these steps:
-
The field name Account_Segment_2 implies that our Account_Segment_Number is “2”. By referring to the “GL_Account_Segment” table with a GL_Account_Number “1122” and an Account_Segment_Number “2”, we identify that the Corresponding_File is “Customer”.
-
The value of Account_Segment_2 in the “GL_Details” table is the key we use to access the “Customer” table. Using this key, “ch010101”, to search the “Customer” table, we uncover the record for a customer named “Centre hospital” with the Customer_Account_Number “71089”.
Table 3 shows how these tables relate to each other for the Corresponding_File Customer.
Table 3 – How the tables relate for Corresponding_File Customer
property |
GL Detail |
GL_Account_Segment |
BAS_Customer |
GL_Account_Number |
1122 |
1122 |
– |
Account Segment 2 |
cb010101 |
– |
– |
Name |
– |
Account Segment Customer |
– |
Number |
– |
2 |
– |
Corresponding_File |
– |
BAS_Customer |
– |
Customer Code |
– |
– |
cb010101 |
2.4. Explaining Corresponding_File as a custom table
This scenario is not specified in ISO 21378:2019
Figure 5 shows how to understand the value of Account_Segment_1 in the GL_Details table.
Figure 5 – Understanding the value of Account_Segment_1 in the GL_Details table
To find the meaning of this value, we follow these steps:
-
The field name Account_Segment_1 suggests an Account_Segment_Number of “1”. Looking up the “GL_Account_Segment” table with a GL_Account_Number “1122” and Account_Segment_Number “1”, we find the Corresponding_File is “BAS_Customized_ACC_Segment”. To further lookup in the “BAS_Customized_ACC_Segment” table, we use the Customized_ACC_Segment_Code “s05” defined in “GL_Account_Segment” table.
-
By using the composite primary key, composed of Customized_Account_Value_Code value “c08” (which is the value of Account_Segment_1 in the “GL_Details” table) and Customized_ACC_Segment_Code value “s05”, we can search the “BAS_Customized_ACC_Segment” table. This will reveal that the value of Customized_Account_Value_Name is “Region”.
-
Searching the “BAS_Customized_ACC_Value” table with the primary key “s05” and Account_Segment_1 value “c08”, we find the Customized_Account_Value_Name is “Beijing”.
-
The value of “1” for Hierarchy_Flag in the “BAS_Customized_ACC_Segment” table indicates a hierarchical structure for the Region. If Parent_ACC_Value_Code in the “BAS_Customized_ACC_Value” table is not null, it signifies a Parent_ACC_Value_Code in the same table. Using “s05” and Parent_ACC_Value_Code “c” as keys to search the “BAS_Customized_ACC_Value” table, we find that the Customized_Account_Value_Name is “China”. This record is the root of the Region hierarchy, as the Parent_ACC_Value_Code for this record is null.
Table 4 shows how these tables relate to each other for the Corresponding_File BAS_Customized_ACC_Segment.
Table 4 – How the tables relate for Corresponding_File BAS_Customized_ACC_Segment
Field name for each table |
Table |
||||
GL Detail |
GL_Account_Segment |
BAS_Customized_ACC_Segment |
BAS_Customized_ACC_Value |
||
GL_Account_Number |
1122 |
1122 |
– |
– |
– |
Account_Segment_1 |
c08 |
– |
– |
– |
– |
Name |
– |
Account Segment Region |
Region |
Beijing |
China |
Number |
– |
1 |
– |
– |
– |
Corresponding_File |
– |
BAS_Customized_ACC_Segment |
– |
– |
– |
Customized_ACC_Segment_Code |
– |
s05 |
s05 |
s05 |
s05 |
Customized_ACC_Value_Code |
– |
– |
– |
c08 |
c |
Parent_ACC_Value_Code |
– |
– |
– |
c |
null |
3. Field Values Used in ISO 21378:2019 Annex B
3.1. General
The specific application of extensions, including predefined tables and customized account segments, are not extensively explained when it comes to establishing account segments and customized account segments. This part of the discussion will provide a concrete example of table setup following ISO 21378:2019 Annex B.
Annex B of ISO 21378:2019, particularly Table B.1, encompasses rows carrying Account_Segment_X data. This annex also points to crucial tables such as GL_Details, Account Segment, BAS_Customized_ACC_Segment, and BAS_Customized_ACC_Value, that come into play in our discussion.
We’ve modeled Table 5 based on Table B.1 from ISO 21378:2019, with a slight modification. We updated the GL_Account_Number in the second row to 3202, which ensures that each row within the table carries a unique account number.
Table 5 - Account Segment lookup key
Corresponding_File |
Account Segment lookup key |
|
Account_Segment_Number = 0 |
Account_Segment_Number > 0 |
|
Employee |
GL_Account_Number |
― |
Project |
GL_Account_Number |
― |
Bank Account |
GL_Account_Number |
― |
Table in ISO 21378:2019 (e.g. Customer, Supplier, etc.) |
― |
GL_Account_Number |
BAS_Customized_ACC_Segment *a |
― |
GL_Account_Number |
*a For account numbers that need to use data from tables not defined in ISO 21378:2019, use “Customized_ACC_Segment_Code” value in the “GL_Account_Segment” table to get the lookup key to the “BAS_Customized_ACC_Segment” table. |
NOTE In ISO 21378:2019 Table 96, the description for case 2 of the Corresponding_File field only specifies that the “BAS_Customized_ACC_Segment” table holds the basic information for the customized account segment. However, it’s necessary to check the “GL_Account_Segment” table to ensure that the Corresponding_File is indeed “BAS_Customized_ACC_Segment”, and that a “Customized_ACC_Segment_Code” exists for the corresponding “GL_Account_Number” and “Account_Segment_Number”.
NOTE In ISO 21378:2019, Table 98 identifies reference identifiers in the GL_Details table and their associated reference fields and tables. Table 6 provides an excerpt from ISO 21378:2019 Table 98. As shown in Figure 7, these references should be established via the “GL_Account_Segment” table.
Table 6 — Identifiers in GL_Details
No. |
Name |
Identifier |
Referenced field |
Referenced table |
37 |
Account_Segment_Employee |
REF |
Employee_ID |
BAS_Employee |
38 |
Account_Segment_Project |
REF |
Project_ID |
BAS_Project |
39 |
Account_Segment_Bank_Account |
REF |
Bank_Account_Number |
BAS_Bank_Account |
Figure 7 - Account Segment bridges to basic information
3.2. The First Set of Records for Account Number 2202
Let’s consider the first group of entries for account number 2202. As seen in Table 7, it includes Account_Segment_Employee, Account_Segment_Bank_Account, and Account_Segment_1 with values 31, 102, and 71089 respectively.
Table 7 - GL Detail
No. |
Table |
Property |
Datatype |
Referenced table |
Value |
3 |
GL_Details |
GL_Account_Number |
Code |
BAS_Chart_Of_Accounts |
2202 |
9 |
GL_Details |
Journal_Entry_Header_Description |
Text |
― |
Cash received from customer |
37 |
GL_Details |
Account_Segment_Employee |
REF |
BAS_Employee |
31 |
39 |
GL_Details |
Account_Segment_Bank_Account |
REF |
BAS_Bank_Account |
102 |
40 |
GL_Details |
Account_Segment_1 |
REF |
GL_Account_Segment |
By referencing Table 8, we can see that the Corresponding_File for ‘Account_Segment_Employee’ is ‘BAS_Employee’, and ‘Employee_Code’ 31 can be used to look up the ‘BAS_Employee’ table (Table 9).
Table 8 - Account Segment
GL_Account_Number |
Account_Segment_Name |
Account_Segment_Number |
Corresponding_File |
Customized_ACC_Segment_Code |
2202 |
Account_Segment_Employee |
0 |
BAS_Employee |
null |
2202 |
Account_Segment_Bank_Account |
0 |
BAS_Bank_Account |
null |
2202 |
BAS_Customer item |
1 |
BAS_Customer |
null |
To understand how to find specific account information, you can use Tables 3 and 4 to look up the relevant data.
For example, if you’re searching for an “GL_Account_Segment” titled “Account_Segment_Employee” that has a “GL_Account_Number” of “2202”, you would find that the Corresponding_File is titled “BAS_Employee”. The employee code for this record is “31”, and this code can be used to find the exact employee record in the “BAS_Employee” table, as shown in Table 9.
Table 9 - Corresponding_File Employee
Field name for each table |
Table |
||
GL_Detail |
GL_Account_Segment |
BAS_Employee |
|
GL_Account_Number |
2202 |
2202 |
– |
Header_Description |
Cash received from customer |
– |
– |
Account_Segment_Employee |
31 |
– |
– |
Name |
– |
Account_Segment_Employee |
– |
Number |
– |
0 |
– |
Corresponding_File |
– |
Employee |
– |
Code |
– |
– |
31 |
Similarly, if you are looking for an “GL_Account_Segment” titled “Account_Segment_Bank_Account” with a “GL_Account_Number” of “2202”, the Corresponding_File you’ll find is titled “BAS_Bank_Account”. The bank account number for this record is “102”, and this can be used to find the specific bank account in the “BAS_Bank_Account” table, as shown in Table 10.
Table 10 – Bank Account Details
.2+|Field name for each table |
3+^|Table |
|GL_Detail |
|GL_Account_Segment |
|BAS_Bank_Account |
|GL_Account_Number |
|2202 |
|2202 |
^|- |
|Header Description |
|Cash received from customer |
^|- |
^|- |
|Account_Segment_Bank_Account |
|102 |
| |
| |
|Name |
^|- |
|Account_Segment_Bank_Account |
^|- |
|Number |
^|- |
|0 |
^|- |
|Corresponding_File |
^|- |
|BAS_Bank_Account |
^|- |
|Code |
^|- |
^|- |
Finally, if you’re searching for “Account_Segment_1” – which indicates that the “Account_Segment_Number” is “1” – with a “GL_Account_Number” of “2202”, you’ll find that the Corresponding_File is titled “BAS_Customer”. The customer account number for this record is “71089”, and this can be used to locate the specific customer in the “BAS_Customer” table, as shown in Table 11.
Table 11 – Customer Details
.2+|Field name for each table |
3+^|Table |
|GL_Detail |
|GL_Account_Segment |
|BAS_Customer |
|GL_Account_Number |
|2202 |
|2202 |
^|- |
|Header_Description |
|Cash received from customer |
^|- |
^|- |
|Account_Segment_1 |
|71089 |
^|- |
^|- |
|Name |
^|- |
|BAS_Customer item |
^|- |
|Number |
^|- |
^|1 |
^|- |
|Corresponding_File |
^|- |
|BAS_Customer |
^|- |
|Code |
^|- |
^|- |
3.3. The Second Set of Records for Account Number 2202
Now let’s consider the second group of entries for account number 2202. As seen in Table 12, it includes Account Segment Project, Account_Segment_Bank_Account, and Account Segment 2 with values 1801, 101, and 82335 respectively.
Table 12 – Another Example of GL_Details
No. |
Table |
Field |
Datatype |
Referenced table |
Value |
3 |
GL_Details |
GL_Account_Number |
Code |
BAS_Chart_Of_Accounts |
2202 |
9 |
GL_Details |
Journal Entry Header Description |
Text |
― |
Cash payment to supplier Project 1801 |
38 |
GL_Details |
Account_Segment_Project |
REF |
BAS_Project |
1801 |
39 |
GL_Details |
Account_Segment_Bank_Account |
REF |
BAS_Bank_Account |
101 |
40 |
GL_Details |
Account_Segment_2 |
REF |
GL_Account_Segment |
By referencing Table 13, we can see that the Corresponding_File for ‘Account_Segment_Project’ is ‘BAS_Project’, and ‘Project_Code’ 1801 can be used to look up the ‘BAS_Project’ table (Table 14).
Table 13 – Another Example of Account Segment
GL_Account_Number |
Account_Segment_Name |
Account_Segment_Number |
Corresponding_File |
Customized_ACC_Segment_Code |
2202 |
Account Segment Project |
0 |
BAS_Project |
null |
2202 |
Account_Segment_Bank_Account |
0 |
BAS_Bank_Account |
null |
2202 |
Supplier item |
2 |
BAS_Supplier |
null |
Table 14 – Project Details
Field name for each table |
Table |
||
GL_Detail |
GL_Account Segment |
BAS_Project |
|
GL_Account_Number |
2202 |
2202 |
– |
Header Description |
Cash payment to supplier Project 1801 |
– |
– |
Account Segment Project |
1801 |
– |
– |
Name |
– |
Account Segment Project |
– |
Number |
– |
0 |
– |
Corresponding_File |
– |
Project |
– |
Project Code |
– |
– |
1801 |
In the same manner, the Corresponding_File for ‘Account_Segment_Bank_Account’ is ‘BAS_Bank_Account’, and ‘Bank_Account_Code’ 1801 can be used to look up the ‘BAS_Bank_Account’ table (Table 15).
Table 15 – Bank Account Details
Field name for each table |
Table |
||
GL_Detail |
GL_Account_Segment |
BAS_Bank_Account |
|
GL_Account_Number |
2202 |
2202 |
– |
Header Description |
Cash payment to supplier Project 1801 |
– |
– |
Account_Segment_Bank_Account |
101 |
– |
– |
Name |
– |
Account_Segment_Bank_Account |
– |
Number |
– |
0 |
– |
Corresponding_File |
– |
Bank Account |
– |
Bank Account Code |
– |
– |
101 |
For Account Segment 2, the Corresponding_File is ‘BAS_Supplier’. ‘Supplier_Account_Number’ 82335 can be used to look up the ‘Supplier’ table (Table 16).
Table 16 – Supplier Details
Field name for each table |
Table |
||
GL_Detail |
GL_Account_Segment |
BAS_Supplier |
|
GL_Account_Number |
2202 |
2202 |
– |
Header Description |
Cash payment to supplier Project 1801 |
– |
– |
Account Segment 2 |
82335 |
– |
– |
Name |
– |
Supplier item |
– |
Number |
– |
2 |
– |
Corresponding_File |
– |
Supplier |
– |
Supplier Code |
– |
– |
82335 |
By carefully examining the journal entries and account segments, we can understand how different account details correspond to different tables.
3.4. The third row with Account Number 5502
Table 17 details the journal entries that contain “Account_Segment_Project” with the value “1802”. This row also has an “Account_Segment_3”, indicating that the Account_Segment_Number is “3” with a corresponding value of “A10032”.
Table 17 – GL_Details
No. |
Table |
Field |
Datatype |
Referenced table |
Value |
3 |
GL_Details |
Account_Number |
Code |
BAS_Chart_Of_Accounts |
5502 |
9 |
GL_Details |
Journal_Entry_Description |
Text |
— |
Accrued expenses |
38 |
GL_Details |
Account_Segment_Project |
REF |
BAS_Project |
1802 |
40 |
GL_Details |
Account_Segment_3 |
REF |
Table 18 – GL_Account_Segment
Account_Number |
Account_Segment_Name |
Account_Segment_Number |
Corresponding_File |
Customized_ACC_Segment_Code |
5502 |
Account_Segment_Project |
0 |
Project |
null |
5502 |
Vehicle item |
When you search for account segment information using Table 17 and Table 18 with the Account Number “5502” and Account_Segment_Name “Account Segment Project”, you will find the Corresponding_File is “Project”. You can use Project Code “1802” to find the project details in the Project table as listed in Table 19.
Table 19 – BAS_Project
Field name for each table |
Table |
||
GL_Detail |
GL_Account_Segment |
BAS_Project |
|
Account Number |
5502 |
5502 |
– |
Header Description |
Accrued expenses |
– |
– |
Account Segment Project |
1802 |
– |
– |
Name |
– |
Account Segment Project |
– |
Number |
– |
0 |
– |
Corresponding_File |
– |
Project |
– |
Project Code |
– |
– |
1802 |
When you search for Account Segment 3 information from Table 17 and Table 18, indicating Account_Segment_Number “3” and Account Number “5502”, you’ll find that the Corresponding_File is “BAS_Customized_ACC_Segment” with a Customized_ACC_Segment_Code of ”A10032”. In this case, you should lookup “BAS_Customized_ACC_Segment” table with key value “A10032”. Table 20 provides information for this Customized_ACC_Segment_Code.
Table 20 – BAS_Customized_ACC_Segment
property |
Journal Entry Detail |
GL_Account_Segment |
BAS_Customized_ACC_Segment |
Customized Account Value |
Account Number |
5502 |
5502 |
– |
– |
Account Segment 3 |
A10032 |
– |
– |
– |
Name |
– |
Account Segment Vehicle |
Vehicle |
Car Buick GLB |
Number |
– |
3 |
– |
– |
Corresponding_File |
– |
BAS_Customized_ACC_Segment |
– |
– |
Customized_ACC_Segment_Code |
– |
v852 |
v852 |
v852 |
Customized_ACC_Value_Code |
– |
– |
– |
A10032 |
By searching the Customized Account Table (as listed in Table 20) for the Name with the Code “A10032”, you will find that the Name corresponds to “Car Buick GLB”.
4. How to setup BAS_Customized_ACC_Segment and BAS_Customized_ACC_Value
GL_Account_Segment has a primary key of combined value of GL_Account_Number and Account_Segment_Number. This means We should have the same Customized_ACC_Segment_Value for the same GL_Account_Number for different Journal_ID.
Since Journal_ID cannot make any difference on GL_Account_Segment.
Apologies for any confusion earlier, and you’re correct. The GL_Account_Segment table indeed has a primary key that combines the GL_Account_Number and Account_Segment_Number, meaning the mapping between a specific GL account and its account segments is consistent across different Journal_IDs.
So, for a given GL_Account_Number and Account_Segment_Number, the associated Customized_ACC_Segment_Code (and subsequently, the Customized_ACC_Segment_Name) would remain the same across different journal entries, as these are defined at the level of the general ledger account, not the individual journal entry.
However, the actual Customized_ACC_Value_Code (and corresponding Customized_ACC_Value_Name) used in a journal line can vary between different Journal_IDs. This allows the system to use different values for the same account segment across different journal entries.
For example, if the GL_Account_Number ‘1122’ has a custom account segment for ‘Expense Type’, the actual ‘Expense Type’ value used in a journal entry (like ‘Office Supplies’ or ‘Utilities’) could be different in each Journal_ID, even though the ‘Expense Type’ segment itself is consistently associated with GL_Account_Number ‘1122’ across all journal entries. This allows different expenses recorded against the same GL account to be categorized differently based on the specifics of each transaction.
I hope this clarifies the relationship between these elements. Let me know if you have more questions!
How to setup GL_Account_Segment to support your soltion?
Setting up the GL_Account_Segment to support this solution involves setting up the account structure and then defining the customized account segments. Here’s a step-by-step breakdown of how to do this:
-
Create the GL Account: The General Ledger (GL) Account, in this case, ‘1122’, should be created first. This is typically done in the GL_Accounts table, where each GL Account is given a unique identifier (the GL_Account_Number).
-
Define Account Segment: In the GL_Account_Segment table, we define the account structure for the GL account ‘1122’. Each row in this table represents one segment of the account structure. We assign a unique Account_Segment_Number to each row and set the GL_Account_Number to ‘1122’. For instance, if we want to associate ‘1122’ with the ‘Expense Type’ segment, we might create a row with GL_Account_Number = ‘1122’, Account_Segment_Number = ‘1’, and Corresponding_File = ‘BAS_Customized_ACC_Segment’, and Customized_ACC_Segment_Code = ‘ET’ (representing ‘Expense Type’).
-
Define Customized Account Segment: In the BAS_Customized_ACC_Segment table, we define the ‘Expense Type’ segment. We create a row with Customized_ACC_Segment_Code = ‘ET’, Customized_ACC_Segment_Name = ‘Expense Type’, and potentially other properties as needed.
-
Define Customized Account Segment Values: In the BAS_Customized_ACC_Value table, we define the specific values that the ‘Expense Type’ segment can take. Each row represents a possible value. We might create one row with Customized_ACC_Segment_Code = ‘ET’, Customized_ACC_Value_Code = ‘OS’, and Customized_ACC_Value_Name = ‘Office Supplies’, and another row with Customized_ACC_Segment_Code = ‘ET’, Customized_ACC_Value_Code = ‘UT’, and Customized_ACC_Value_Name = ‘Utilities’.
Now, when creating a journal entry (in the GL_Details table), we can use different ‘Expense Type’ values (like ‘Office Supplies’ or ‘Utilities’) for the same GL account ‘1122’ across different Journal_IDs. In the GL_Details table, we’d set GL_Account_Number to ‘1122’, and Account_Segment_1 (matching the Account_Segment_Number we used earlier) to ‘OS’ or ‘UT’ (or another code we’ve defined), depending on the specifics of the transaction.
This setup allows the system to consistently associate the ‘Expense Type’ segment with the GL account ‘1122’, while permitting different ‘Expense Type’ values to be used in different journal entries. This can provide greater detail and flexibility when it comes to categorizing transactions.