When submitting a SAF-T declaration, accuracy is everything – especially when it comes to customer or supplier data. Whether you're reporting balances, invoices, or payments, everything needs to be correctly matched and reported across all sections. But let's face it, when data is spread across multiple systems and formats, how can you be sure everything actually lines up?
Let's break down how customer and supplier information should be reported in SAF-T and how you can automate the verification process to save time and avoid errors.
Where do we report the data in SAF-T?
In each monthly or quarterly SAF-T file, customer and supplier details are distributed across several key sections:
- Customers or Supplier – Shows opening and closing balances.
- Journal – Includes all accounting transactions related to customers or suppliers.
- Sales Invoices – A complete list of issued invoices.
- Purchase Invoices – A complete list of received invoices.
- Payments – Covers receipts, payments, and compensations.
To ensure consistency, each business partner must be identified with a unique Customer or Supplier ID, generated based on whether they're an individual or company, their country of registration, and whether they have a VAT code. Once this ID is created, it must be used consistently across the entire SAF-T file, with no exceptions.
The common problem
In reality, inconsistencies happen all the time. We've seen plenty of cases where Customer or Supplier IDs are either incorrectly generated or used inconsistently – perhaps due to missing data in the ERP system or misconfigured export logic in the SAF-T tool. Sometimes, the same partner appears with different VAT codes, or transactions are not linked properly across sections. These small inconsistencies can trigger red flags during audits or even lead to rejected submissions.
The solution? Automate the checks
Here's how to perform these checks step-by-step using Latitude App, so you can catch errors early, in just a few clicks.
Step 1: Validate Customer and Supplier IDs
Start by checking whether the IDs in SAF-T match the ones used in your VAT declarations – D394 for local clients and D390 for intra-community clients.
For example:
- If a client in D394 has VAT code 12345, then the SAF-T must include Customer ID 0012345.
- If a client in D390 has AT as country code and VAT U12345, SAF-T should reflect this as Customer ID 01ATU12345.
Latitude App runs these checks automatically and highlights mismatches. You can also manually spot-check IDs that begin with specific prefixes (e.g., 02 for non-EU companies, 03 for individuals who declared their CNP, 04 for unidentified individual customers) to ensure they follow the correct format.
And if your ERP doesn't support Excel exports? No worries. Latitude App converts XML to Excel in seconds so you can review the data easily.
Step 2: Cross-check balances
After confirming the IDs, make sure the balances reported in the Customers or Supplier section match those in the Trial Balance.
Latitude App automatically compares:
- Opening and closing balances for receivables or payables in the Trial Balance (General Ledger Accounts section).
- Corresponding totals in the Customers or Suppliers subsection.
If the numbers don't align, the issue may lie in your accounting entries or how balances were mapped in the SAF-T file.
Step 3: Match journal movements
Next, check whether the net movement (debit/credit) for each ID matches what's recorded in the Journal.
Latitude App verifies that:
- The net change in the Customers or Supplier section (closing minus opening balance)
- Matches the net sum of transactions in the Journal for the same ID and account
If there's a mismatch, it could mean some transactions were posted without the correct ID or are missing altogether.
Step 4: Reconcile invoices and payments
Lastly, ensure that Sales Invoices / Purchase Invoices and Payment records match what's reported in the Journal.
Latitude App automatically checks:
- All journal transactions by customer or supplier ID and account.
- Total amount of issued sales invoices (including VAT).
- Total payments and compensations reported.
Any difference here should be due to non-invoice/payment-related entries like exchange rate differences, reclassifications, or adjustments.
All of this in just 3 clicks with Latitude App
Here's how easy it is to run all these checks:
- Upload your SAF-T XML and VAT declarations (D300, D390, D394).
- Run the verification process.
- Download a clear report showing all matches, mismatches, and areas that need review.
Why does it matter
Errors in customer or supplier data aren't just technical, they can lead to failed submissions, audits, or compliance risks. With thousands of lines of data, checking it manually is inefficient and prone to error. With Latitude App, you can catch these issues early and fix them fast, saving time, reducing stress, and staying compliant.
Ready to simplify SAF-T validation? Email us at support@latitude-app.com and discover how easy it is to automate the process!
Simplify fiscal compliance with Latitude App
e-Invoice, e-Transport, SAF-T — all in one cloud platform. Test for free, no obligations.