Accounts Payable - Vendors & Bills

πŸ” Problem Statement

As an internal finance team, I experience inefficiencies and manual work when managing payments to vendors, which results in delayed payments and inconsistent records.

πŸ’‘ User Story

As an admin user, I want to create, manage, and track vendor bills from the platform, so that I can streamline AP workflows without relying on external tools.

🎯 Definition of Done (DoD)

βœ” Business users (Admins) can view and manage all Vendors from a dedicated section in the platform, with support for:

  1. List view of all vendors with search, sort, and filter

  2. Create, Read, Update, Delete (CRUD) operations using Laravel-based backend logic

  3. Vendor details include

  4. First name

  5. Last name

  6. Email

  7. Phone

  8. Job title

  9. Date of birth

βœ” Business users can manage Bills through a separate Accounts Payable > Bills section, with:

  1. List view of all bills, sortable and filterable by vendor, status, and date

  2. CRUD operations for one-time

  3. Each bill supports:

  4. Line items (manual input)

  5. PDF generation

βœ” All actions (vendor creation, bill creation, updates, status changes, etc.) are powered by Pelcro’s CORE API endpoints, which:

  1. Serve as the single source of truth

  2. Are documented and stable for internal and future external use

  3. Are consumed by the Admin UI as a client of the API

βœ” This change will impact:

  1. UI – Admin-only sections for Vendors and Bills

  2. API – New versioned CORE endpoints (e.g., /vendors, /bills)

  3. Backend – Laravel CRUD services for all related operations

βœ” This solution will include the following limitations:

  1. No vendor self-serve access (OpenAPI/SDK not yet exposed)

  2. No delivery logic, rate automation, or accounting integrations

  3. No tax calculation or international currency handling

Vendors Resource:

  1. GET /v1/core/vendors – List vendors

  2. POST /v1/core/vendors – Create vendor

  3. GET /v1/core/vendors/{id} – Show vendor

  4. PUT /v1/core/vendors/{id} – Update vendor

  5. DELETE /v1/core/vendors/{id} – Delete vendor

Bills Resource:

  1. GET /v1/core/billing/bills – List bills

  2. POST /v1/core/billing/bills – Create bill

  3. GET /v1/core/billing/bills/{id} – Show bill

  4. POST /v1/core/billing/bills/{id}/finalize – Finalize bill

  5. POST /v1/core/billing/bills/{id}/mark-as-paid – Mark bill as paid

Publisher Interface

Vendors Management:

  1. GET /{site_id}/vendors – List vendors

  2. GET /{site_id}/vendors/create – Create vendor form

  3. GET /{site_id}/vendors/{vendor_id}/edit – Edit vendor form

  4. GET /{site_id}/vendors/export – Export vendors

  5. POST /{site_id}/vendors – Store vendor

  6. GET /{site_id}/vendors/{vendor_id} – Show vendor

  7. PUT /{site_id}/vendors/{vendor_id} – Update vendor

Bills Management:

  1. GET /{site_id}/bills – List bills

  2. GET /{site_id}/bills/create – Create bill form

  3. POST /{site_id}/bills – Store bill

  4. GET /{site_id}/bills/{bill_id} – Show bill

  5. GET /{site_id}/bills/export – Export bills

  6. POST /{site_id}/bills/{bill_id}/finalize – Finalize bill

  7. POST /{site_id}/bills/{bill_id}/mark-as-paid – Mark as paid

Events:

  1. Bills:

  2. Bill\Created – When a bill is created

  3. Bill\Finalized – When a bill is finalized

  4. Bill\Paid – When a bill is marked as paid

  5. Vendors:

  6. Vendor\Created – When a vendor is created

  7. Vendor\Updated – When a vendor is updated

  8. Vendor\Deleted – When a vendor is deleted

Webhooks:

  1. Bill Webhooks:

  2. BillCreated – Webhook listener for bill creation

  3. BillFinalized – Webhook listener for bill finalization

  4. BillPaid – Webhook listener for bill payment

  5. Vendor Webhooks:

  6. VendorCreated – Webhook listener for vendor creation

  7. VendorUpdated – Webhook listener for vendor updates

  8. VendorDeleted – Webhook listener for vendor deletion

Please authenticate to join the conversation.

Upvoters
Status

Available

Board
πŸ’‘

Pelcro Product

ETA
Dec 02, 2025
Date

4 months ago

Author

Rana Haleem

Subscribe to post

Get notified by email when there are changes.