GL Account Upload
GL Account Upload creates new General Ledger accounts (code combinations) and updates existing ones in a ledger’s chart of accounts, from Excel. Download the accounts in a ledger (filtered by segment values if you like), add new accounts or edit the maintenance attributes of existing ones, then upload. Creating new accounts requires that your chart of accounts allows dynamic insertion of code combinations.
When to use it
- Mass-create new GL accounts (code combinations) in a chart of accounts that allows dynamic inserts.
- Enable or disable many existing accounts at once.
- Set or change Start Date Active / End Date Active across many accounts.
- Bulk-toggle Detail Posting Allowed or Detail Budgeting Allowed.
- Download a filtered list of existing accounts for review, then re-upload edits.
Before you start
- Blitz Report is installed and you are signed in to a General Ledger responsibility with access to the target ledger.
- To create new accounts, your chart of accounts must allow dynamic insertion of code combinations.
- The segment values you use already exist, are enabled and active, and are detail (not parent) values.
Step 1 – Choose a mode, set the parameters and download
In Blitz Report, open GL Account Upload and choose an Upload Mode:
- Create – an empty template for adding new accounts.
- Create, Update – downloads existing accounts so you can edit their maintenance attributes, and still lets you add new rows.
| Parameter | Purpose |
|---|---|
| Ledger | The ledger, and chart of accounts, to load (limited to ledgers in your GL access set). |
| Upload Mode | Create (empty) or Create, Update (existing accounts downloaded). Default is Create. |
| Active Accounts Only | Yes downloads only enabled accounts that are active today. |
| Segment value / range filters | Restrict the download to specific segment values or ranges (one filter per chart-of-accounts segment). |
Run the upload to download and open the Excel file. Each row is automatically handled as a create or an update depending on whether the account already exists.
Step 2 – Enter or edit accounts
- New account – type the full account into Concatenated Segments; the individual segment columns and the Description fill in automatically.
- Maintenance attributes (apply to existing accounts, and settable on new ones): Enabled, Start Date Active, End Date Active, Detail Posting Allowed and Detail Budgeting Allowed.
Account Type and the Summary flag are set when the account is created and cannot be changed by this upload.
Step 3 – Validate and Save
Click Validate and Save. This checks for missing required values and runs the upload’s validation – for new accounts, each segment value is checked against your chart of accounts. Correct anything it flags, and save the file.
Step 4 – Upload and view the result
Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which creates or updates each account directly. When it finishes, a result report opens showing each row as success or error.
What’s produced
- New and updated GL accounts (code combinations) in the chosen ledger’s chart of accounts.
- A result report listing every row with a status (success or error) and a message, re-displaying the stored account values so you can confirm what was created or changed.
Common questions
How does it know whether to create or update?
It matches the account’s concatenated segments against the existing accounts in the chart of accounts. A match is updated; no match is created. You do not set an action yourself.
Can I create accounts if my chart of accounts doesn’t allow dynamic inserts?
No. Creating a new code combination needs dynamic insertion enabled. If it is off, the account is validated but not created.
Can I delete or rename an account?
No. There is no delete, and the segments identify the account – changing them refers to a different account.
Why are the segment columns read-only?
They fill in automatically from the Concatenated Segments you type. Enter the full account string and the segments populate.
Why can’t I change Account Type or the Summary flag?
They are set when the account is created. Only Enabled, the active dates, and the Detail Posting and Detail Budgeting flags can be updated.
Troubleshooting
| Message | Cause | What to do |
|---|---|---|
| Missing value for segment | An enabled segment has no value on the row. | Enter a complete Concatenated Segments string covering every segment. |
| Invalid value for segment | A segment value is not valid in that segment’s value set. | Use a value from the segment list. |
| Segment value is disabled / not yet active / has expired | The value exists but is disabled or outside its active dates. | Use an enabled, currently active value. |
| Segment value is a parent value and cannot be used | A summary or parent value was used. | Use a detail (child) value. |
| Account was not created | The combination failed validation, or dynamic inserts are not allowed in the chart of accounts. | Confirm dynamic inserts are enabled and the combination passes your cross-validation rules. |
select to_char(null) action_, to_char(null) status_, to_char(null) message_, null modified_columns_, gl.name ledger, gcck.concatenated_segments, gl_flexfields_pkg.get_concat_description(gl.chart_of_accounts_id,gcck.code_combination_id) description, ffvv.description account_type, gcck.segment1 gl_segment1, gcck.segment2 gl_segment2, gcck.segment3 gl_segment3, gcck.segment4 gl_segment4, gcck.segment5 gl_segment5, gcck.segment6 gl_segment6, gcck.segment7 gl_segment7, gcck.segment8 gl_segment8, gcck.segment9 gl_segment9, gcck.segment10 gl_segment10, gcck.segment11 gl_segment11, gcck.segment12 gl_segment12, gcck.segment13 gl_segment13, gcck.segment14 gl_segment14, gcck.segment15 gl_segment15, xxen_util.meaning(gcck.summary_flag,'YES_NO',0) summary, xxen_util.meaning(gcck.enabled_flag,'YES_NO',0) enabled, gcck.start_date_active, gcck.end_date_active, xxen_util.meaning(gcck.detail_budgeting_allowed,'YES_NO',0) detail_budgeting_allowed, xxen_util.meaning(gcck.detail_posting_allowed,'YES_NO',0) detail_posting_allowed, xxen_util.display_flexfield_context(101,'GL_CODE_COMBINATIONS',gcck.context) attribute_context, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE1',gcck.rowid,gcck.attribute1) gl_account_attribute1, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE2',gcck.rowid,gcck.attribute2) gl_account_attribute2, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE3',gcck.rowid,gcck.attribute3) gl_account_attribute3, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE4',gcck.rowid,gcck.attribute4) gl_account_attribute4, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE5',gcck.rowid,gcck.attribute5) gl_account_attribute5, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE6',gcck.rowid,gcck.attribute6) gl_account_attribute6, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE7',gcck.rowid,gcck.attribute7) gl_account_attribute7, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE8',gcck.rowid,gcck.attribute8) gl_account_attribute8, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE9',gcck.rowid,gcck.attribute9) gl_account_attribute9, xxen_util.display_flexfield_value(101,'GL_CODE_COMBINATIONS',gcck.context,'ATTRIBUTE10',gcck.rowid,gcck.attribute10) gl_account_attribute10, gcck.code_combination_id from gl_code_combinations_kfv gcck, gl_code_combinations_kfv gccka, fnd_flex_values_vl ffvv, fnd_flex_value_sets ffvs, fnd_id_flex_structures_tl fifs, gl_ledgers gl where 1=1 and gl.chart_of_accounts_id=gcck.chart_of_accounts_id and gcck.gl_account_type=ffvv.flex_value and ffvv.flex_value_set_id=ffvs.flex_value_set_id and ffvs.flex_value_set_name='GL_SRS_ACCOUNT_TYPE' and gcck.alternate_code_combination_id=gccka.code_combination_id(+) and fifs.id_flex_num=gcck.chart_of_accounts_id and fifs.application_id=101 and fifs.id_flex_code='GL#' and fifs.language=userenv ('lang') and nvl(gcck.summary_flag,'N')<>'Y' |
| Parameter Name | SQL text | Validation | |
|---|---|---|---|
| Ledger |
| LOV | |
| Upload Mode |
| LOV | |
| Active Accounts Only |
| LOV | |
| GL_SEGMENT1 |
| LOV | |
| GL_SEGMENT1 From |
| LOV | |
| GL_SEGMENT1 To |
| LOV | |
| GL_SEGMENT2 |
| LOV | |
| GL_SEGMENT2 From |
| LOV | |
| GL_SEGMENT2 To |
| LOV | |
| GL_SEGMENT3 |
| LOV | |
| GL_SEGMENT3 From |
| LOV | |
| GL_SEGMENT3 To |
| LOV | |
| GL_SEGMENT4 |
| LOV | |
| GL_SEGMENT4 From |
| LOV | |
| GL_SEGMENT4 To |
| LOV | |
| GL_SEGMENT5 |
| LOV | |
| GL_SEGMENT5 From |
| LOV | |
| GL_SEGMENT5 To |
| LOV | |
| GL_SEGMENT6 |
| LOV | |
| GL_SEGMENT6 From |
| LOV | |
| GL_SEGMENT6 To |
| LOV | |
| GL_SEGMENT7 |
| LOV | |
| GL_SEGMENT7 From |
| LOV | |
| GL_SEGMENT7 To |
| LOV | |
| GL_SEGMENT8 |
| LOV | |
| GL_SEGMENT8 From |
| LOV | |
| GL_SEGMENT8 To |
| LOV | |
| GL_SEGMENT9 |
| LOV | |
| GL_SEGMENT9 From |
| LOV | |
| GL_SEGMENT9 To |
| LOV | |
| GL_SEGMENT10 |
| LOV | |
| GL_SEGMENT10 From |
| LOV | |
| GL_SEGMENT10 To |
| LOV | |
| GL_SEGMENT11 From |
| LOV | |
| GL_SEGMENT11 To |
| LOV | |
| GL_SEGMENT12 From |
| LOV | |
| GL_SEGMENT12 To |
| LOV |