Albertsons Edi 820

By Alexander Georges|Updated October 13, 2026
TL;DR: This guide explains how Albertsons EDI 820 (Payment Order/Remittance Advice) is structured, common pitfalls when parsing and reconciling 820 documents, and provides step-by-step conversion instructions to CSV with real EDI examples. Use the provided validation checklist and PlainEDI validation features to prevent and resolve common mapping and compliance errors quickly.

What This Is

This guide covers the Albertsons-specific handling of the X12 820 Payment Order/Remittance Advice. It explains the segments and elements you will see in retailer-sent 820 files, real-world parsing examples, how to convert 820 contents into a CSV format suitable for accounting systems, and practical reconciliation techniques you can apply to match remittance lines to Albertsons 810 invoices.

The focus is operational: why common errors occur when partners process Albertsons 820s, how to detect and fix those errors, and how to automate validation so that your ERP or AP system ingests accurate payment data. The guide includes annotated EDI snippets, mapping tables, CSV examples, and troubleshooting steps used by EDI teams in production.

Who This Is For

This guide is for EDI developers, AP specialists, ERP integrators, and vendor onboarding teams who receive Albertsons 820 remittance files and need to parse, validate, and reconcile payments against invoices. It assumes working knowledge of basic X12 structure (ISA/GS/ST envelopes) and familiarity with CSV import processes.

Key Segments Explained

  • BPR — Beginning Segment for Payment Order/Remittance Advice

    The BPR segment contains the payment method, total remittance amount, currency, and banking details when payment is via ACH or wire. Important BPR elements: BPR01 (Transaction Handling Code), BPR02 (Payment Amount), BPR03/BPR04 (Payment Method and Bank Format), and BPR12–BPR16 (Account numbers and routing). For Albertsons, expect automated ACH payment information in BPR when they issue vendor payments electronically.

  • TRN — Trace

    TRN carries a unique trace number used to match the remittance to bank payments. TRN01 is trace type (commonly '1'), TRN02 is the unique trace number. Use TRN along with BPR payment date to reconcile bank deposits when your accounting system receives a bank feed.

  • REF — Reference Identification

    REF conveys additional identifiers. For Albertsons 820s, REF*TN sometimes contains the treasury number and REF*IA may contain internal reference IDs. Missing or incorrect REF qualifiers commonly break automated matching rules.

  • DTM — Date/Time Reference

    DTM provides payment dates and remittance dates. For reconciliation you must parse DTM*097 or DTM*003 depending on sender mapping — vendors must convert DTM qualifiers to their internal date fields consistently.

  • N1/N3/N4 — Party Identification and Address

    These segments identify payer and payee parties. N1*PR usually identifies the payer (Albertsons), while N1*PE or N1*BT can identify your company. N1 qualifiers and the element positions (N104 for ID code, N103 for ID code qualifier) are essential when matching remittance to vendor records in your ERP.

  • ENT / RMR — Entity Level and Remittance Details

    ENT starts an entity loop for each payee. Within ENT, RMR lines list invoice-level details: invoice number, invoice date, outstanding balance, payment applied, and adjustments. Key RMR elements: RMR01 (Reference ID Qualifier), RMR02 (Invoice Number), RMR03 (Invoice Date), RMR04 (Invoice Amount), and RMR05 (Payment Amount). Many reconciliation errors occur when suppliers assume a single invoice per RMR but Albertsons can include multiple RMR lines for partial payments and adjustments.

Example EDI Snippet

ISA*00*          *00*          *ZZ*ALBERTSONS     *ZZ*VENDORID       *210901*1234*U*00401*000000905*0*P*>~
GS*RA*ALBERTSONS*VENDORID*20210901*1234*905*X*004010~
ST*820*0001~
BPR*C*12500.00*C*ACH*CTX*01*111000025*DA*123456789*1512312345*01*222000111*DA*987654321*20210901~
TRN*1*202109010001*9876543210~
REF*TN*INVREM20210901~
DTM*097*20210901~
N1*PR*ALBERTSONS CORPORATION*92*0123456789~
N1*PE*MY COMPANY INC*92*VEND12345~
ENT*1~
RMR*IV*INV-1001*20210810*1500.00*1500.00~
RMR*IV*INV-1002*20210815*2500.00*2000.00~
RMR*IV*INV-1003*20210820*9000.00*9000.00~
SE*12*0001~
GE*1*905~
IEA*1*000000905~

Line-by-line explanation:

  • ISA envelope: authorization and receiver IDs (fixed-length control). Here sender is ALBERTSONS and receiver is VENDORID; the ISA control number is 000000905.
  • GS functional group header: functional ID 'RA' indicates remittance advice group; control number 905 matches GS/IEA grouping.
  • ST*820*0001: start of the 820 transaction set with control number 0001.
  • BPR*C*12500.00*C*ACH*CTX*01*111000025*DA*123456789*1512312345*01*222000111*DA*987654321*20210901: Payment is $12,500 via ACH; includes payer routing/account and payee bank routing/account and payment date (20210901).
  • TRN*1*202109010001*9876543210: Trace number for bank reconciliation.
  • REF*TN*INVREM20210901: Remittance reference ID (internal albertsons reference).
  • DTM*097*20210901: Remittance date qualifier 097 mapped to payment effective date.
  • N1*PR*ALBERTSONS CORPORATION*92*0123456789: Payer identification.
  • N1*PE*MY COMPANY INC*92*VEND12345: Payee identification using code qualifier 92 (assigned by payer).
  • ENT*1: Start entity loop for the payee.
  • RMR*IV*INV-1001*20210810*1500.00*1500.00: Payment applied to invoice INV-1001, invoice date 20210810, invoice amount 1500.00 and payment amount 1500.00.
  • RMR*IV*INV-1002*20210815*2500.00*2000.00: Partial payment on INV-1002 where invoice amount is 2500.00 but paid 2000.00; balance remains.
  • RMR*IV*INV-1003*20210820*9000.00*9000.00: Full payment for INV-1003.
  • SE/GE/IEA: Transaction, group, and interchange trailers closing the file.

CSV Output Example

PaymentID PaymentDate PaymentAmount PayerName PayerBankRouting PayerBankAccount PayeeID InvoiceNumber InvoiceDate InvoiceAmount PaidAmount Balance
202109010001 2021-09-01 12500.00 ALBERTSONS CORPORATION 111000025 123456789 VEND12345 INV-1001 2021-08-10 1500.00 1500.00 0.00
202109010001 2021-09-01 12500.00 ALBERTSONS CORPORATION 111000025 123456789 VEND12345 INV-1002 2021-08-15 2500.00 2000.00 500.00
202109010001 2021-09-01 12500.00 ALBERTSONS CORPORATION 111000025 123456789 VEND12345 INV-1003 2021-08-20 9000.00 9000.00 0.00

Step-by-Step Conversion Process

  1. Detect and validate envelope and delimiters
    1. Read the first 106 characters of the interchange to extract ISA segment fixed-width fields and detect element separator (ISA16), component delimiter (ISA11), and segment terminator (last character following the ISA segment).
    2. Validate ISA control numbers and GS group control numbers for matching IEA and GE trailers to ensure file completeness.
  2. Extract BPR and TRN for payment-level data
    1. Parse the BPR segment into a payment object: method, payment amount, currency, payer bank routing (BPR12 or BPR14 depending on qualifier), and payee bank routing (BPR16).
    2. Parse TRN into PaymentID for CSV (TRN02 recommended) and store the trace number for bank reconciliation.
    3. Validate that the sum of RMR paid amounts equals BPR payment amount. If there is mismatch, flag for manual review and create discrepancy report.
  3. Loop ENT and collect RMR invoice lines
    1. For each ENT loop, map N1 with qualifier PE or vendor qualifier to your vendor master data. If N104 contains vendor ID, use it to identify the payee in your ERP.
    2. Within the ENT loop, extract each RMR line as an invoice record. Use RMR02 as InvoiceNumber, RMR03 as InvoiceDate, RMR04 as InvoiceAmount, and RMR05 as PaidAmount.
    3. If RMR lacks some elements, attempt to fetch missing metadata from previous EDI 810 records or your AR system. Log any required manual lookups.
  4. Handle adjustments and negative amounts
    1. Parse ADX or RMR adjustment elements as separate CSV columns (AdjustmentCode, AdjustmentAmount). Convert negative indicators to negative numeric CSV value.
    2. For currency discrepancies, convert to your base currency using the exchange rate provided in BPR or an external rate source and record the conversion method in CSV metadata.
  5. Aggregate and validate totals
    1. Recompute the sum of all RMR PaidAmounts and compare with BPR PaymentAmount. If they do not match, create an exception record with the details: PaymentID, expected total, actual total, and difference.
    2. Run the file through PlainEDI validation before importing into ERP: check for missing mandatory fields, invalid qualifiers, mismatched control numbers. Use PlainEDI to automate these checks and produce clear error messages for fixes.
  6. Export to CSV with mapping metadata
    1. Define CSV columns: PaymentID, PaymentDate, PaymentAmount, PayerName, PayerBankRouting, PayeeID, InvoiceNumber, InvoiceDate, InvoiceAmount, PaidAmount, AdjustmentCode, Balance.
    2. Include a header row and optional metadata row with ISA/GS control numbers for traceability. Store a copy of the original EDI message with a unique file reference for auditing.
  7. Reconciliation and automated posting
    1. Use PaymentID + InvoiceNumber pairing to apply posted amounts automatically. For partial payments, create open AR balances for remaining invoice amounts.
    2. Keep an exception queue for unmatched invoices and use the TRN trace number to coordinate with Albertsons AP support when necessary.

Common Errors and Fixes

  • Error: ISA delimiter mis-detection causing parsing failure. Fix: Force read of ISA fixed-width fields to determine separators; do not assume '*' or '~' — implement fallback detection algorithm and run PlainEDI delimiter validation rule before parsing.
  • Error: BPR PaymentAmount not equal to sum of RMR PaidAmount lines (validation mismatch). Why: Albertsons may include separate adjustment lines or use different qualifiers for some RMR lines. Fix: Re-run parse to include ADX/REF adjustment segments, and create a reconciliation record listing missing elements. If still unmatched, escalate to Albertsons vendor portal for clarification.
  • Error: Missing vendor identifier in N1 causing inability to map to vendor master. Why: N1 qualifier or N104 value mismatch with your vendor ID list. Fix: Add mapping rule for N1*PE/N1*BT qualifiers and implement fuzzy matching on vendor name. Use the N1 92 qualifier values to map to internal vendor codes when available.
  • Error: Partial payments incorrectly applied leading to AR misstatement. Why: RMR lines with the same InvoiceNumber split across files or multiple payments. Fix: Track invoice open/paid history and use PaymentID + InvoiceNumber + DTM date to ensure correct aggregation of partial payments. Log partials to exception queue for manual review if automated rules cannot resolve.
  • Error: Currency mismatch or missing currency code. Why: Sender omitted currency elements; your ERP defaults to base currency. Fix: Implement validation rule to require currency in BPR or default to ISO currency in configuration; flag missing currency for manual confirmation. PlainEDI validation can enforce mandatory currency presence for Albertsons 820s.
  • Error: 997 Functional Acknowledgment rejections (invalid segment structure). Fix: Inspect 997 for specific rejection codes and fix the originating file structure (missing mandatory segment or invalid element lengths). Use schema validation against X12 004010 820 to identify the exact segment/element that failed and resubmit corrected 820.

Related Resources

FAQ Section

Q: What is the primary purpose of an Albertsons 820?

The Albertsons 820 is a Payment Order/Remittance Advice used to communicate payment details (ACH/wire/check) and the remittance lines that apply payment to specific invoices. It enables suppliers to automate posting of cash receipts to invoices.

Q: How do I match Albertsons 820 RMR lines to my invoices?

Match using InvoiceNumber from RMR02 and validate InvoiceDate and InvoiceAmount. Use PaymentID from TRN plus vendor identifiers in N1 to ensure correct vendor mapping. For partial payments, use PaidAmount in RMR05 and compute remaining balance.

Q: What should I do when BPR total does not equal sum of RMR paid amounts?

First, check for ADX adjustment segments and REF lines that include discounts or deductions. If adjustments are absent, flag the file as an exception and run PlainEDI validation to show missing elements. Reconcile differences with Albertsons AP using TRN trace numbers.

Q: Why did I receive a 997 rejection for my 820?

A 997 functional acknowledgment rejection indicates structural or semantic errors (missing mandatory segment, invalid qualifiers, control number mismatch). Read the 997 detail segments to identify the rejected transaction and correct the specified segments/elements per X12 004010 820 schema.

Q: Can I automatically post payments from Albertsons 820 into my ERP?

Yes, you can automate posting by converting 820 to CSV with fields mapped to your ERP payment application. Ensure your automated process validates vendor IDs, invoice numbers, and amounts, and has an exception workflow for partial payments and unmatched invoices. Use PlainEDI to validate before posting.

Q: What information in the 820 identifies bank details for direct deposit?

Bank details are in the BPR segment (routing and account numbers appear in BPR12–BPR16 depending on the format). Use bank routing and account numbers only if your vendor profile expects ACH/wire deposits; maintain secure handling and storage of these values.

Q: How often do Albertsons 820 files arrive and how are they grouped?

Albertsons groups payment remittances by payment date in GS/GE functional groups. Each GS may contain multiple 820 transactions for different payees but with the same payment date and originator. Configure your processing to handle multiple ENT loops within a single 820 transaction set.

Q: What steps reduce the risk of chargebacks or penalties related to 820 processing?

Maintain up-to-date vendor configuration, validate EDI 820 files pre-import, reconcile BPR totals to RMR line sums, and keep audit records of payments and corrections. Retailers, including Albertsons, impose penalties for compliance failures; check Albertsons vendor portal for current policy details.

Final Checklist & Best Practices

  • Always run envelope-level validation: ISA/GS control number checks and delimiter detection.
  • Map BPR and TRN to your bank reconciliation fields and store trace numbers for audit.
  • Design your parser to accept multiple RMR lines per ENT and to record partial payments as open AR balances.
  • Use secure handling for bank account data and limit access in your systems.
  • Integrate PlainEDI validation into your ingestion pipeline to reject malformed files early: use it to enforce mandatory fields, check control numbers, and provide actionable error messages. Visit PlainEDI to upload and validate your EDI files before production.

Call to Action

Ready to validate and convert your Albertsons 820 files with automated checks and clear error messages? Upload a sample 820 to PlainEDI now to run envelope and content validation, see a parsed preview, and export CSVs configured for your accounting system.