πŸ“ž 1700-81-2931  Β·  βœ‰οΈ sales@dlstech.com.my  Β·  Serving the whole of Malaysia
Home β€Ί Resources β€Ί Library

SQL Library β€” guides, videos, and how-tos.

Everything you need to use SQL Account, SQL Payroll and the wider SQL ecosystem with confidence. Searchable articles, short video walk-throughs, and quick-answer FAQs β€” all in one place.

Getting started

Your first weeks with SQL.

If you're brand new to SQL Account or SQL Payroll, work through these articles in order. They mirror the onboarding sequence we use during on-site training.

Installing SQL Account for the first time

Download, install, and run SQL Account on a Windows machine. Covers single-user and multi-user setup.

What you need before installing

  • Windows 10 or 11 Pro PC (64-bit). For multi-user, one PC acts as the server.
  • At least 4 GB RAM (server PC: 8 GB+ recommended).
  • 250 GB free disk space minimum. SSD strongly preferred.
  • Administrator access to install software.

Single-user install (one PC)

  1. Download the latest SQL Account installer from sql.com.my, or ask us to email it to you.
  2. Right-click the installer and choose Run as administrator.
  3. Accept the licence terms. Install the bundled Firebird database engine when prompted.
  4. Once installed, run SQL Account. Click Create New Book and enter your company name and financial year-end.
  5. That's it β€” you're ready to start entering customers, suppliers, and your first invoice.

Multi-user install (server + workstations)

  1. Install SQL Account on the server PC first, following the single-user steps.
  2. Note the server PC's IP address (run ipconfig in Command Prompt).
  3. On each workstation, install SQL Account but choose Client only when prompted.
  4. Configure the client to point at the server's IP. Test by opening the same book from each workstation.
  5. Allow Firebird (port 3050) through Windows Firewall on the server.
Stuck? WhatsApp +6016-620 6990 β€” we install SQL Account on-site in the Klang Valley most weeks. Often we can fix issues by remote connection in under 15 minutes.

Setting up your company profile & chart of accounts

The first thing to do after installation β€” define your business and its account structure.

Step 1: Company profile

Go to File β†’ Company Profile and fill in:

  • Registered company name exactly as per SSM
  • SSM registration number
  • SST registration number (if you are a registered person β€” leave blank otherwise)
  • LHDN Tax Identification Number (TIN) β€” required for E-Invoice
  • Business address, phone, email
  • Financial year-end date β€” this is hard to change later, get it right first time

Step 2: Chart of accounts

SQL Account ships with a default Malaysian chart of accounts. Most SMEs don't need to change much. Open GL β†’ Chart of Account to review what's there.

Common adjustments:

  • Add specific bank accounts under Cash & Bank (one per real bank account)
  • Add sub-categories under Other Income if you have multiple revenue streams
  • Add specific expense codes for cost categories you want to track separately

Step 3: Default tax codes

Go to Tools β†’ Maintain Tax and confirm SST codes are set correctly:

  • SR β€” Standard rated (6% or 8% depending on services type)
  • NR β€” Not registered (you don't charge SST)
  • ZR β€” Zero rated (exports)
Pro tip. If you're migrating from another system (UBS, AutoCount, MYOB), bring us your latest year-end trial balance. We'll import it as opening balances so SQL starts with your real numbers, not zeros.

Adding customers and suppliers

Build your master data: who you sell to and who you buy from.

Adding a customer

  1. Go to Maintain β†’ Customer β†’ New.
  2. Enter Customer Code (your internal short code) and the registered company name.
  3. Fill in the address β€” complete address with postcode and state is mandatory for E-Invoice.
  4. Enter the customer's TIN number β€” required for any B2B e-invoice. For walk-in customers, leave blank and use consolidated invoicing.
  5. Set Credit Terms (e.g. 30 days) and Credit Limit if you give credit.
  6. SST status: tick Tax Registered if they are SST-registered.

Adding a supplier

Almost identical to adding a customer β€” go to Maintain β†’ Supplier β†’ New. Key fields:

  • Supplier code & name
  • Address (postcode required for E-Invoice reporting)
  • TIN β€” needed for your input tax claim and self-billed e-invoices
  • Bank account details (for payment via bank giro)
TIN collection tip. Many businesses haven't been collecting customer TINs. Send a one-line email to your top 50 customers: "For LHDN E-Invoice compliance, please share your TIN. We need it to issue your future invoices correctly." Most will respond within a week.

Setting up your first employee in SQL Payroll

Personal details, statutory categories, contributions and salary structure.

Before you start

Have these in hand: the employee's IC, EPF number, SOCSO number, bank account, basic salary, and joining date.

Step-by-step

  1. Go to Maintain β†’ Employee β†’ New.
  2. Personal details: Full name (as per IC), IC number, date of birth, gender, marital status, nationality.
  3. Employment details: Joining date, department, designation, employment status (permanent / contract / probation).
  4. Bank info: Bank name and account number. Double-check this β€” typos cause salary mis-payments.
  5. Statutory: EPF category and rate, SOCSO category, EIS, HRDF (if applicable), PCB category (single / married / dependants).
  6. Salary structure: Basic salary, fixed allowances (transport, meal, phone), recurring deductions.
  7. Save.

Critical gotchas

  • EPF category matters β€” Malaysian citizen under 60 vs over 60 vs foreigner have different contribution rates.
  • PCB category affects monthly tax deduction directly. Get it wrong and you'll over/under-deduct every month.
  • Allowance types are not all equal β€” fixed travelling allowance is typically NOT subject to EPF but IS subject to PCB. SQL handles this per allowance type β€” pick the right type.
Rule of thumb. Set up one test employee first, run a sample payroll, verify the EPF/SOCSO/PCB numbers against KWSP and LHDN calculators. Only then enter the rest of the team.

Registering for LHDN MyInvois

Step-by-step walkthrough of registering your TIN and connecting it to SQL Account.

Step 1: Make sure your TIN is active

Log into LHDN MyTax at mytax.hasil.gov.my. Confirm:

  • Your TIN is registered and active.
  • Your business information (SSM number, address, etc.) is up-to-date.
  • You have a designated authorised signatory.

Step 2: Register for MyInvois

From MyTax, navigate to the MyInvois portal. You'll register your company there, set up a directory representative, and download API credentials.

Step 3: Identify your MSIC code

MSIC is your business industry classification β€” required on every e-invoice. Check the official LHDN MSIC list or ask your accountant. Common Klang Valley codes:

  • 47190 β€” Retail trade (non-specialised)
  • 56101 β€” Restaurants
  • 46900 β€” Wholesale trade (non-specialised)
  • 62010 β€” Computer programming services

Step 4: Connect SQL Account

  1. In SQL: File β†’ Company Profile β†’ E-Invoice tab.
  2. Paste your TIN, MSIC code, and API credentials.
  3. Switch to Sandbox mode first (not production) so you can test safely.
  4. Save and test the connection β€” SQL will ping LHDN and confirm.
Don't skip the sandbox. Always test in sandbox first. Submit a real-looking invoice to a test customer, confirm SQL gets a UUID back, check the QR code prints. Only switch to production once you're confident.

Sending your first sandbox e-invoice

Test the full flow without affecting real submissions. Highly recommended before going live.

Why use the sandbox

LHDN provides a sandbox environment that mirrors the live MyInvois system. Invoices submitted to sandbox are not real β€” they don't count for tax, don't create legal documents, and don't show up in your live MyInvois dashboard. Perfect for practice.

Sending your first sandbox invoice

  1. Confirm SQL Account is in Sandbox mode (File β†’ Company Profile β†’ E-Invoice).
  2. Add a test customer with a valid-looking TIN (e.g. C00000000050, the LHDN test TIN). Complete address and SST status.
  3. Create a normal sales invoice β€” pick the test customer, add one stock item, save.
  4. Click Submit to MyInvois. Within seconds, SQL should display a UUID and the invoice PDF should show an LHDN QR code.
  5. If it fails: SQL highlights the missing/wrong field in red. Fix it, click Resubmit.

What to test in sandbox

  • A normal B2B invoice (with TIN)
  • A consolidated B2C invoice (for walk-in / retail customers)
  • A credit note / refund
  • A cancellation within the 72-hour window
  • An invoice with foreign currency (if applicable)
Go-live checklist. Only switch SQL to Production mode once each of the test cases above has worked at least once in sandbox without errors.
How-to guides

Common tasks, walked through.

How to print the SST F5 return from SQL

Generate the SST F5 form ready for filing in just a few clicks.

  1. Go to GST / SST β†’ SST β†’ SST Return.
  2. Pick the taxable period (e.g. 1 Jan – 28 Feb for a Jan/Feb cycle).
  3. Click Generate. SQL pulls every SST transaction in the period.
  4. Review the values β€” output tax, input tax (if applicable), net SST payable.
  5. Click Print F5 or Export to PDF. The exported file matches LHDN's expected format.
  6. File the F5 via the MyTax portal by the due date (typically end of the month following the taxable period).
Troubleshooting. If the values look wrong, check that each invoice has the correct tax code assigned. SR = standard rated, NR = not registered. Wrong codes cause wrong F5.

Batch-emailing customer statements

Send password-encrypted statements to every customer in one operation.

  1. Go to Customer β†’ Print Customer Statement.
  2. Select the statement format. (We can install a custom branded statement for you β€” see our Templates page.)
  3. Filter by customer group or balance (e.g. "Only customers with overdue balance > 30 days").
  4. Click Email instead of Print. SQL prompts for password protection β€” typically last 4 digits of the customer's IC or company SSM number.
  5. SQL emails individually to each customer's email address on file. You stay on the Send screen while it processes.
  6. Watch the progress bar β€” failed emails (e.g. wrong address) are flagged so you can correct.
Tip. Run this on a Friday afternoon. By Monday morning, payment reminders are sitting in every customer's inbox β€” and you didn't lift a finger.

Year-end closing checklist

A printable checklist to make sure nothing gets missed at year-end.

4 weeks before year-end

  • Chase outstanding customer invoices β€” every ringgit collected before year-end improves your books.
  • Settle outstanding supplier bills where possible to claim deductions in the current year.
  • Schedule a stock-take for the last business day of the year.

Year-end day

  • Conduct the physical stock-take. Adjust SQL to match.
  • Reconcile every bank account against the bank statement.
  • Print the trial balance β€” it should balance to zero. If not, investigate before closing.

First week of new year

  • Run Tools β†’ Year-end Closing in SQL. This locks the prior year.
  • Take a full backup and store it off-site (NAS, cloud, external drive).
  • Print the closing balance sheet and P&L for the auditor / accountant.
Don't close too early. Once year-end closing is run, the prior year is locked. Make sure all entries are in before you close.

Generating EA forms for the year

Print EA forms for all employees and prepare for distribution.

  1. Go to Reports β†’ EA Form.
  2. Pick the assessment year (e.g. 2025 for forms distributed in 2026).
  3. Select All Employees or filter by department.
  4. Click Preview to spot-check totals β€” annual gross, EPF, SOCSO, PCB, EIS should match what was actually deducted/contributed across the 12 monthly runs.
  5. Click Print for paper distribution, or Batch Email for digital β€” same flow as payslips, with password protection.
  6. Distribute by 28 February to comply with LHDN.
Discrepancy check. If an EA form shows wildly different numbers than expected, it usually means one or more monthly runs are missing or had wrong settings. Cross-check against your 12 monthly payroll summaries.

Submitting CP39 to LHDN electronically

Monthly tax submission made simple β€” export and upload to LHDN's portal.

  1. Run the monthly payroll as normal.
  2. Go to Submission β†’ CP39 (or PCB).
  3. Pick the salary month. SQL pulls every employee's PCB for that month.
  4. Click Export. SQL generates a text file in LHDN's exact CP39 format.
  5. Log into the LHDN MyTax portal β†’ e-CP39.
  6. Upload the text file. The portal validates and confirms acceptance.
  7. Pay the PCB amount via internet banking on or before the 15th of the following month.
Late submission penalty. Late CP39 can attract penalties of up to RM20,000 per offence. Set a reminder for the 10th of every month.

Setting up Borang E for year-end

Annual employer return β€” what to prepare and how to submit.

Borang E is the annual return employers file with LHDN. It summarises every employee's remuneration for the year, alongside the supporting CP8D schedule.

Steps

  1. Go to Reports β†’ Borang E and pick the assessment year.
  2. SQL generates Borang E + CP8D together.
  3. Export to LHDN's e-filing format (txt or xml).
  4. Submit via e-Filing β†’ Borang E on the MyTax portal.
  5. Deadline: 31 March of the following year.
Worth getting right. Penalties for late or incorrect Borang E can be significant. We can review your Borang E before submission β€” usually a 15-minute call.

Handling B2C consolidated e-invoices

When and how to use consolidated invoicing for retail and walk-in customers.

LHDN allows businesses to issue consolidated e-invoices for B2C transactions (walk-in, retail, end-consumer). Instead of one e-invoice per sale, you submit one consolidated summary at the end of the month.

When consolidated applies

  • Cash sales to walk-in customers (no TIN provided)
  • Retail / e-commerce sales below a threshold
  • Restaurant / F&B transactions

Setting up in SQL Account

  1. Go to Tools β†’ E-Invoice Settings β†’ Consolidated.
  2. Tick Enable consolidated invoicing and set the cycle (typically monthly).
  3. For each customer flagged as B2C, SQL will batch their transactions automatically.
  4. At month-end, generate the consolidated invoice. SQL submits one document to LHDN with all B2C transactions.
Important. If a B2C customer later requests a proper e-invoice (with their TIN), you must issue one. Train your front-line staff to spot this request.

Cancelling or rejecting an e-invoice

Mistakes happen. Here's the correct LHDN-approved way to fix them.

Within 72 hours of submission

If you submitted an e-invoice with wrong details (wrong amount, wrong customer, etc.) you can cancel it within the LHDN 72-hour window:

  1. Open the original invoice in SQL Account.
  2. Click Cancel E-Invoice. SQL prompts for a reason β€” be specific ("Wrong amount", "Wrong customer", etc.).
  3. SQL sends the cancellation to LHDN. The invoice is now voided in MyInvois.
  4. Issue a corrected invoice as a new document.

After 72 hours

You cannot cancel β€” you must issue a credit note to reverse the original, then a new invoice with correct details. Credit notes are also submitted to MyInvois with their own UUID.

Train fast. Tell your accounts team: spotting an error in the first hour is 100x easier than fixing it three days later. Build a daily "check yesterday's invoices" routine.

Getting customer & supplier TIN numbers fast

Tips for collecting TINs efficiently without slowing down your sales process.

For existing customers / suppliers

Send a one-line email to all your B2B contacts:

"To comply with LHDN E-Invoice from [date], please share your Tax Identification Number (TIN). Reply to this email with: Company name + TIN. Takes 30 seconds. Thanks!"

Most companies respond within a few days. Follow up on stragglers by phone.

For new customers

Add a TIN field to your customer onboarding form. Make it mandatory for B2B customers. For B2C, leave optional β€” they'll go through consolidated invoicing.

For walk-in customers who want a tax invoice

Train sales staff to ask: "Will you need this invoice for company expense claim? If yes, may I have your company TIN?"

TIN format. Malaysian TINs are typically 12 characters, often starting with letters (C for Company, IG for Individual, etc.). If a customer gives you something that doesn't match LHDN's expected format, SQL will reject the e-invoice β€” verify before saving.
Video tutorials

Hundreds of SQL tutorials, one search away.

The official SQL HQ YouTube channel (E Stream MSC) has the most comprehensive video library for SQL Account, Payroll, POS and the wider ecosystem. Search across it directly below.

Powered by the official channel: @SQLeStream β†’

Or pick a topic below to jump straight to the curated playlist.

Tutorials hosted by E Stream MSC (SQL Account principal). Search bar above opens the channel results in a new tab.

More playlists Β· SQL HQ

User Guides & advanced topics

Each tile opens that specific SQL HQ playlist in the in-page player. Module-by-module walkthroughs covering every SQL Account & Payroll workflow.

Downloadable guides

Free DLS-branded PDFs to keep on your desk.

Practical, no-fluff PDF guides written by DLS Technology for our Klang Valley customers. Original content β€” not copies of SQL HQ documentation.

More guides coming. Got a topic you'd love covered? WhatsApp us.

FAQs

Quick answers to the questions we hear most.

How do I update SQL Account to the latest version?

Inside SQL Account, go to Help β†’ Check for updates. The software will download and install the latest version automatically. If your version is very old (more than 2 years behind), contact us β€” we'll handle the migration on-site.

Why is my SQL data not syncing across PCs?

Most commonly: the server PC's firewall is blocking port 3050 (Firebird database). Allow it through Windows Firewall. If that doesn't fix it, contact us and we'll connect remotely via UltraViewer or AnyDesk.

How do I back up my SQL database?

Inside SQL Account: File β†’ Backup. We recommend daily automated backups to a NAS or external drive. We can set this up for you during your next on-site visit.

What happens if I miss an LHDN E-Invoice submission?

LHDN allows a 72-hour cancellation/rejection window after submission. If you miss a submission entirely, you can submit late β€” penalties depend on the delay. Call us, we'll guide you through the rectification.

Can SQL Payroll handle bonus and EPF retrenchment correctly?

Yes β€” SQL Payroll has dedicated payment types for bonus, AWS, commission, retrenchment, etc., each with the correct statutory treatment. We help set these up during onboarding.

How do I add a new user to SQL Account?

Tools β†’ Maintain User. Create the new user, set their role, and assign access rights per module. For sensitive data like salaries, use the "Hide salary in cash book" option.

My SQL is running slow β€” what should I check?

Three common causes: (1) database file too large and never archived, (2) server PC running other heavy software, (3) network bottleneck. Contact us for a free performance check.

Can I use SQL Account on a Mac?

SQL Account is Windows-native. For Mac users, the options are: run Parallels/Windows on the Mac, use SQL Cloud (browser-based), or set up SQL Private Cloud with remote desktop. We can recommend the best fit.

Can't find your answer? WhatsApp us or email sales@dlstech.com.my.

Library still growing.

We're adding new articles and videos every week. Got a specific question you'd like us to write about? Tell us β€” we'll prioritise topics our customers actually ask.

Suggest a Topic Contact Us
WhatsApp Us