Import sales codes and stabilise billing reference data

Objective. Build a reliable sales-code catalogue so that budgets, invoices, accounting exports and management reports consistently use the approved descriptions, VAT rules, accounts, types and prices.

ProfileAdministratorLevelIntermediateTypeConfigurationEstimated duration55 min

Before you start: secure the import in your subscription

Confirm that you may view and import sales codes. With accounting, select an existing one-character VAT code, approve the accounts and decide what happens when a code already exists. Work on copies of the files and validate only after reviewing the preview; if you cannot import, complete the analysis and stop before confirmation.

Continue when VAT code, accounts, separator, encoding and duplicate policy are all decided.

Exercise files

Download the file to correct and keep the corrected version for the final check. The corrected file must ultimately create three codes: CONSE — title Conseil (consulting), VAT code 2, type T (time), account 706100, EUR 125.00; SOCIA — title Production sociale (social-production service), VAT code 2, type T (time), account 706200, EUR 25.00; and FRAIS — title Frais refacturables (rechargeable expenses), VAT code 2, type F (expense), account 708500, EUR 0.00. The first version deliberately contains a duplicate CONSE, an unknown VAT code Z and type X instead of the permitted one-character CSV codes T or F. The faulty version must be rejected. After correcting the source, use the three imported codes in a draft invoice and check the resulting accounts.

CSV columnTempolia fieldCheck
code_venteSales codeUnique and not empty
titreTitleExpected business label
code_tvaVAT codeOne character; code 2 exists and Z must be rejected
typeTime/expense typeOne character: T for time or F for expense
compteAccountApproved account
montant_htNet amountDecimal number

Prerequisites

  • VAT code 2 and accounts 706100, 706200 and 708500 have been approved by accounting; this course does not invent the accounting specification.
  • The separator, UTF-8 encoding, decimal convention and single header row of the CSV are known.
  • The target codes do not already exist, or an explicit update rule has been agreed. Export or record the starting catalogue.
  • Use your subscription only with authorisation to modify the catalogue and a recovery procedure. Never import the deliberately faulty file and never delete codes already used by historical records.

55-minute schedule

  1. 8 min: review the current catalogue and column constraints.
  2. 12 min: load the CSV and build field mapping.
  3. 12 min: detect and explain the three deliberate anomalies.
  4. 10 min: correct the source and import the corrected file.
  5. 8 min: test CONSE in a draft invoice and accounting export.
  6. 5 min: note the result and the rule for future updates.

Checks after the exercise

  • The mapping supplies Sales code, VAT code, the time/expense type, Title, Account and Net amount; the source uses the one-character values T or F.
  • The first file is not accepted while duplicate CONSE, VAT code Z or type X remains.
  • After correction, CONSE, SOCIA and FRAIS each appear once with the exact expected values.
  • A EUR 125.00 net CONSE draft uses VAT code 2, the title Conseil (consulting) and account 706100 in the export preview.

Understand why a sales code is shared reference data

A sales code is more than a convenient invoice label. It connects the commercial service to the VAT rule, revenue account, default wording, possible unit price, analysis axis and invoice model. Tasks and expenses can point to it, budgets anticipate it, prepared invoices consume it and accounting exports translate it. One ambiguous code therefore spreads ambiguity through the whole chain.

Stable reference data follows three principles. The code is a durable key rather than a temporary description. Its meaning remains narrow enough for users to choose it consistently. Treat changes according to their impact: correct a typo directly, but assess an accounting or VAT change before applying it to future use. A code already referenced should normally be made unavailable for new use rather than deleted.

An import accelerates entry; it does not transfer responsibility to the CSV. Mapping answers which source column fills which Tempolia field. Validation answers whether values are allowed and coherent. Functional testing answers whether the code behaves correctly in a real draft. All three are required.

What you will be able to do

  • Inventory existing sales, task and expense codes before deciding to create or update anything.
  • Prepare an import file with unique keys, a known encoding and explicit mandatory values.
  • Map fields without confusing a source label, a Tempolia code, an account and a VAT identifier.
  • Stop an import on duplicates, unknown reference values or any type code other than T or F.
  • Connect the imported code to tasks, quantities, expenses, VAT and invoice models.
  • Test the result in a budget, a draft invoice and an accounting-export preview without issuing a document.
  • Preserve historical meaning by marking obsolete codes as no longer used instead of deleting them.

1. Inventory the source and target catalogues

Path: Configuration > Sales codes, VAT codes, billable tasks and expense codes.

Filter the existing catalogue and search for CONSE, SOCIA and FRAIS, including variants in case and trailing spaces. Record code, title, VAT, account, type, price and active status. If an equivalent code already exists, decide whether the CSV must update it, use it or be rejected. Similar wording is not enough to establish equivalence.

Review VAT code 2 and the three accounts against the approved specification. The VAT code is not the displayed percentage alone: it may govern accounting and reporting treatment. Then distinguish source code T (time) from F (expense), and both from any non-billable task. A task describes work performed; a sales code describes what is sold; an expense code describes a cost. Their links must be intentional.

Tempolia sales-code catalogue used to check existing keys and accounting data
Establish the baseline and search for existing equivalents before loading the file.
Current VAT catalogue showing codes 1, 2, 4, D and M, including code 2 at 20 percent
The valid one-character code 2 is visible at 20 percent. The faulty code Z is absent from this catalogue and must remain outside the accepted import.

2. Load the faulty file and build an explicit mapping

Path: Tools > Import.

Keep the original file unchanged and work on a copy. Confirm UTF-8, separator, header and decimal format before mapping. Associate each source column deliberately with Sales code, Title, VAT code, the time/expense type, Account and Net amount. In the source type column, enter the one-character code T for time or F for expense. The displayed labels may be translated, but the CSV codes must not be. Do not map two source columns to the same target and do not use a convenient text column to fill a key.

Preview the lines. Identify the duplicate CONSE even if case or invisible spaces differ. Check VAT code Z against the real VAT catalogue, and reject X because it is neither T nor F. Record the row number, source value, rule violated and correction required. The goal is not merely to make the Import button succeed: the faulty duplicate, VAT code and type must be corrected before they can enter the catalogue.

Sales-code import mapping from CSV headers to Tempolia fields
Map each CSV header to the corresponding Tempolia field, then review the CONSE, SOCIA and FRAIS rows before confirming.
Billable-task catalogue used to connect work and sales codes
A task and a sales code have different meanings even when their labels are close.

3. Correct the source, import once and verify every value

Remove the duplicate, replace VAT code Z with the approved VAT code 2 where the business rule supports it, and replace X with the exact one-character source code T or F, as appropriate. Reload the corrected copy using the same mapping. Before confirming, reconcile the row count: three source lines must lead to three unique target codes, no hidden update and no rejected line.

After import, filter each code and compare all fields with the case. CONSE must contain title Conseil (consulting), type T (time), VAT code 2, account 706100 and EUR 125.00. SOCIA must contain title Production sociale (social-production service), type T (time), VAT code 2, account 706200 and EUR 25.00. FRAIS must contain title Frais refacturables (rechargeable expenses), type F (expense), VAT code 2, account 708500 and EUR 0.00. A zero default price for FRAIS does not mean it is free; it means the actual amount comes from the expense or billing context.

Task-price table for the selected filters
Filter by matter and task to check whether a specific unit price applies.
Current expense-code catalogue showing DEPMT, DIVER, HOTEL, JUR and KM7
Check the existing expense codes before deciding how FRAIS should be used.

4. Check the codes in a draft invoice

Attach CONSE to an appropriate billable task or use it directly in the prepared-invoice test according to the local configuration. Prepare one EUR 125.00 net CONSE line for the customer selected in your subscription. Verify the title, VAT code 2, EUR 25.00 VAT if the rate is 20%, EUR 150.00 gross total and invoice model presentation. Stop in the draft or invoices-to-validate area.

Open the accounting-export preview for the same draft and verify account 706100. Also inspect the budget and report context so the code remains selectable and analytically meaningful. If the wrong account appears, correct the sales code and recreate the draft; never edit an export file to conceal a catalogue defect.

Invoice preparation with date, selected companies and creation routes
Choose the customer and creation route, then prepare the EUR 125.00 net CONSE line without issuing the invoice.
Invoice-validation list with draft references, customers, sales codes and net amounts
Filter to your draft and verify CONSE, EUR 125.00 net and VAT code 2 before stopping without issue.
Sales accounting-export form with company, journal, dates and account settings
Set the company, period and journal, then compare account 706100 with the file generated from the draft.

Review, correct and import the file

  1. 1. Inventory the target and map the faulty CSV without writing data.
  2. 2. List duplicate CONSE, VAT code Z and type X, correct the source copy and import exactly three rows.
  3. 3. Compare every imported field and prepare a EUR 125.00 CONSE draft plus accounting preview.

At the end, check these points

  • Three unique codes exist; no VAT code Z or type X line was created.
  • CONSE produces EUR 125.00 net with the expected title and VAT code 2.
  • Accounting control finds 706100 for CONSE, 706200 for SOCIA and 708500 for FRAIS.

Diagnosis

  • Broken accented characters indicate an encoding problem: reload correctly instead of repairing labels manually.
  • Empty mapped fields indicate separator, header or mapping problems.
  • Two CONSE rows require a check of spaces, case and the business key in both source and target.
  • An incorrect invoice account must be corrected in the test catalogue and retested from a new draft, never disguised in the output.
Invoice-lines report with references, sales codes and totals
Filter the report to the draft period and check the sales code on the corresponding invoice line.

Common mistakes

  • Creating a new code for every isolated wording variation.
  • Changing VAT or account on a code already used without analysing historical and future effects.
  • Using the Silae-specific flow for a generic sales-code CSV.
  • Confusing a time task, an expense nature and a sales code.
  • Deleting an old referenced code rather than marking it as no longer used.

Before you finish

Keep the original file, anomaly log, corrected file, before-and-after catalogue and draft check together. Use them to trace the three imported lines, the three rejected values and the path from CONSE to VAT code 2 and account 706100.

Step back

A stable sales code makes budgets comparable, invoices understandable and accounting exports predictable. Automate format, uniqueness and permitted-value checks where possible, but keep the choice of wording, VAT treatment, accounts and treatment of existing codes with the people who maintain billing and accounting. The practical final check is simple: the imported codes must produce the expected draft invoice and accounting allocation.