Skip to main content

PurchaseByAccounts EDBL

Reference for the PurchaseByAccounts EDBL import in Encompass: bulk-import non-inventory purchases (services, one-time bills) charged straight to GL accounts. Needs Pay Bills permission and AP enabled; v22.01+.

B
Written by Bailey Naas-Thornton

Minimum Version Required: 22.01

Pre-Conditions

  • You must have Pay Bills permission to run this routine

  • Companies should be properly configured in the system

  • The import action is fixed to "Update or Add"

  • Accounts Payable should be enabled in Encompass

Steps

The PurchaseByAccounts EDBL routine allows importing purchase transactions with direct GL account assignments. This routine creates shipments, purchases, and corresponding journal entries in a single import.

The import process:

  1. Validates all required data (PostDate, AccountID, etc.)

  2. Creates any missing vendors if specified by VendorID_Translation

  3. Creates shipments for each unique combination of ShipmentNum, ReceiveDate, and LocationID

  4. Creates purchase records linked to these shipments

  5. Creates or updates journal entry transactions for accounting purposes

  6. Updates purchase statuses to the imported status level

The system will first attempt to match existing shipments and purchases by shipment number, invoice number, PO number, vendor, and date. When no matches are found, new records will be created.

Vendors specified by VendorID_Translation that don't exist in the system will be automatically created with minimal information. It's recommended to set up vendors before running this import.

All imported shipments will have ShipmentType = Imported_Accounts and will be tagged with the EDBLSourceID and ImportGroupID for future reference.

Fields And Definitions

Required Fields:

  • PostDate - Date when the purchase will be posted to the GL

  • AccountID - GL account to which the purchase will be charged (or AccountID_Translation)

  • VendorID - Vendor providing the purchase (or VendorID_Translation)

  • CompanyID - Company for the transaction (defaults to user's company if not specified)

Key Fields:

  • ImportGroupID - Groups imports together (defaults to "1" if not specified)

  • InvoiceNum - Invoice number for the purchase

  • PONum - PO number for the purchase

  • ShipmentNum - Identifier for the shipment

  • ReceiveDate - Date when goods were received

  • LocationID - Location receiving the goods (defaults to user's location)

  • Debit/Credit - Amount values for the transaction

  • ShipmentStatus - Status of the shipment (defaults to Confirmed)

  • PurchaseMemo - Notes for the purchase

Optional Fields:

  • InvoiceDate - Date of the invoice

  • DueDate - Date when payment is due

  • JournalEntryTransMemo - Description for journal entries

  • FinancialDimensionID_XXXX - Financial dimension assignments

  • CustomField fields - Additional custom field values

Best Practices

  • Always include PostDate, AccountID, and VendorID or their Translation fields

  • Use unique ShipmentNum, InvoiceNum, and PONum values to avoid duplicates

  • Group related records with the same ImportGroupID value

  • Set up vendors before running the import when possible

  • Ensure the PostDate is after the company's Purchase Close Date

  • If using AccountID_Translation, make sure the account mappings exist

  • Set ShipmentStatus to match your workflow needs

  • If importing multiple currencies, ensure exchange rates are properly configured

  • Confirm financial dimensions exist in the system before referencing them

  • The lowest acceptable ShipmentStatus value is "Received" - lower status values will cause import failure

When using this import to create purchase records, the system will create appropriate journal entries to maintain General Ledger balance. The purchase records will be created with transaction type "Accounts" to distinguish them from inventory purchases.

This import can be used for one-time purchases, service purchases, and any non-inventory purchases that need to be directly recorded to GL accounts.

Did this answer your question?