Skip to main content Enter
ERP.AI Accounts Receivable System

Accounts Receivable System

Start now
Pricing Questions Get started
Build with Proto

Modules

Customer billingKeep customer terms and recurring billing ready for the next invoice. Invoices and creditsSend clear invoices and keep every adjustment connected to its source. Cash applicationMatch incoming cash to the right invoices and explain every remainder.
CollectionsGive overdue balances a clear next action and accountable owner. Credit controlsMake credit decisions visible before they change a customer balance. Receivables reportingExplain aging, collections and cash application with a consistent balance basis.

Accounts Receivable System

Start now
Pricing Questions Get started
Build with Proto

Processes

Prepare and send invoicesKeep draft preparation, delivery and ledger confirmation distinct. Receive and apply cashTurn confirmed receipt evidence into attributable invoice allocations.
Resolve disputes and collectKeep follow-up, dispute resolution and financial adjustments connected. Review write-offsKeep the write-off request, Controller decision and posted result separate.

Accounts Receivable System

Start now
Pricing Questions Get started
Build with Proto

Industries

Goods and distributionConnect customer billing to the goods and delivery evidence you already use. Services and retainersKeep agreed terms, recurring drafts and customer adjustments connected.
Project billing collectionsFollow up on project invoices while preserving the original billing owner.

Accounts Receivable System

Start now
Pricing Questions Get started
Build with Proto

Reference

Roles and permissionsGive each person the customer and decision scope their work needs. Reports and analyticsUnderstand customer aging, collection activity and cash application. Data modelTrace invoices, receipts and adjustments back to their governing source.
IntegrationsConnect billing, bank evidence and ledger outcomes with clear ownership. ImplementationStart with a reconciled customer population and expand after a controlled pilot. Agent and automationPrepare receivables work with an agent while retaining the assigned decisions.

Accounts Receivable System

Start now
Pricing Questions Get started
Build with Proto
All systems
Modules
Customer billingKeep customer terms and recurring billing ready for the next invoice.Invoices and creditsSend clear invoices and keep every adjustment connected to its source.Cash applicationMatch incoming cash to the right invoices and explain every remainder.CollectionsGive overdue balances a clear next action and accountable owner.Credit controlsMake credit decisions visible before they change a customer balance.Receivables reportingExplain aging, collections and cash application with a consistent balance basis.
Processes
Prepare and send invoicesKeep draft preparation, delivery and ledger confirmation distinct.Receive and apply cashTurn confirmed receipt evidence into attributable invoice allocations.Resolve disputes and collectKeep follow-up, dispute resolution and financial adjustments connected.Review write-offsKeep the write-off request, Controller decision and posted result separate.
Industries
Goods and distributionConnect customer billing to the goods and delivery evidence you already use.Services and retainersKeep agreed terms, recurring drafts and customer adjustments connected.Project billing collectionsFollow up on project invoices while preserving the original billing owner.
Reference
Roles and permissionsGive each person the customer and decision scope their work needs.Reports and analyticsUnderstand customer aging, collection activity and cash application.Data modelTrace invoices, receipts and adjustments back to their governing source.IntegrationsConnect billing, bank evidence and ledger outcomes with clear ownership.ImplementationStart with a reconciled customer population and expand after a controlled pilot.Agent and automationPrepare receivables work with an agent while retaining the assigned decisions.
Sign in
Sign in Start now
Accounts Receivable System References
Data model3 of 6
  • Roles and permissions1 of 6
  • Reports and analytics2 of 6
  • Data model3 of 6
  • Integrations4 of 6
  • Implementation5 of 6
  • Agent and automation6 of 6

Data model

Trace invoices, receipts and adjustments back to their governing source.

20 tables · 44 relationships

Data model 20 tables
mastertransactionline itemfinance Customers.DefaultBillingTerm → BillingTerms Customers.DefaultDunningPolicy → DunningPolicies Customers.DefaultTemplate → InvoiceTemplates Customers.AccountOwner → Employees CreditMemos.Customer → Customers CreditMemos.AppliedToInvoice → Invoices CreditMemos.ApprovedBy → Employees BankFeedTransactions.MatchedPayment → PaymentsReceived Disputes.Invoice → Invoices Disputes.Customer → Customers Disputes.ResolvedBy → Employees WriteOffs.Invoice → Invoices WriteOffs.Customer → Customers WriteOffs.RequestedBy → Employees LateFees.OriginalInvoice → Invoices LateFees.Customer → Customers LateFees.WaivedBy → Employees ARAgingSnapshots.Customer → Customers CollectionsCases.Customer → Customers CollectionsCases.LeadInvoice → Invoices CollectionsCases.OpenedBy → Employees CreditHolds.Customer → Customers CreditHolds.HeldBy → Employees CreditMemoLines.CreditMemo → CreditMemos DunningEvents.Invoice → Invoices DunningEvents.Customer → Customers DunningEvents.Policy → DunningPolicies Invoices.Customer → Customers Invoices.Template → InvoiceTemplates Invoices.BillingTerm → BillingTerms Invoices.RecurringSchedule → RecurringInvoiceSchedules InvoiceLines.Invoice → Invoices RecurringInvoiceSchedules.Customer → Customers RecurringInvoiceSchedules.Template → InvoiceTemplates RecurringInvoiceSchedules.BillingTerm → BillingTerms PaymentsReceived.Customer → Customers PaymentsReceived.BankFeedTransaction → BankFeedTransactions PaymentsReceived.AppliedBy → Employees PaymentApplications.PaymentReceived → PaymentsReceived PaymentApplications.Invoice → Invoices CustomersmasterCustomerNumberStatusDefaultBillingTerm BillingTermsmasterTermCodeNameNetDays DunningPoliciesmasterPolicyCodeNameBand1Days EmployeesmasterEmployeeNumberManagerName CreditMemostransactionCreditMemoNumberStatusCustomer BankFeedTransactionstransactionMatchStatusMatchedPaymentFeedTransactionID DisputestransactionDisputeNumberStatusInvoice WriteOffstransactionWriteOffNumberStatusInvoice LateFeestransactionLateFeeNumberStatusOriginalInvoice ARAgingSnapshotstransactionSnapshotNumberCustomerAsOfDate CollectionsCasestransactionCaseNumberStatusCustomer CreditHoldstransactionHoldNumberStatusCustomer CreditMemoLineslineCreditMemoLineNumberDescription DunningEventslineInvoiceCustomerPolicy InvoiceTemplatesmasterTemplateCodeNameLegalEntity InvoicestransactionInvoiceNumberStatusCustomer InvoiceLineslineInvoiceLineNumberDescription RecurringInvoiceSchedulesmasterScheduleNumberStatusCustomer PaymentsReceivedtransactionPaymentNumberStatusCustomer PaymentApplicationslinePaymentReceivedInvoiceAmountApplied
Data modelTable names and relationships

Migration order

  1. 1 Customers, BillingTerms, InvoiceTemplates and DunningPolicies establish the reviewed billing basis.
  2. 2 Invoices and InvoiceLines preserve local obligations or separately identified external collection references.
  3. 3 PaymentsReceived, PaymentApplications and BankFeedTransactions preserve receipt identities and accepted allocations.
  4. 4 CreditMemos, CreditMemoLines, Disputes, WriteOffs, LateFees, CreditHolds and CollectionsCases retain adjustments and decisions.
  5. 5 DunningEvents and ARAgingSnapshots preserve communications and cutoff evidence.

Balance rules

20 tables

Local OpenBalance deducts accepted cash, applied credits and posted write-offs once. Proposals cannot reduce it. External collection references use their confirmed ExternalOpenBalance and SourceVersion instead of mixing in local financial actions. Keep all corrections attributable to the original source.

Local OpenBalance deducts accepted cash, applied credits and posted write-offs once. Proposals cannot reduce it. External collection references use their confirmed ExternalOpenBalance and SourceVersion instead of mixing in local financial actions. Keep all corrections attributable to the original source.

CustomersThe AR-grain customer record. May shadow a CRM Account; this rowmaster
FieldTypeRequiredDetails
CustomerNumbertextyes
Nametextyes
CRMAccounttextSync key from crm-pipeline
BillingEmailtextyes
BillingAddresstext
BillingStateselectUS state
TaxRegistrationIDtextResale / exemption certificate ID
DefaultBillingTermreferenceyes→ BillingTerms
DefaultDunningPolicyreference→ DunningPolicies
DefaultTemplatereference→ InvoiceTemplates
CreditLimitcurrencyMasked except AR Manager, Controller, Admin
OpenARBalanceformulayesfx: SUM(Invoices.OpenBalance where Invoices.Customer = self AND Invoices.Status NOT IN (Paid, Voided, WrittenOff))
OnCreditHoldformulayesfx: COUNT(CreditHolds where Customer = self AND Status = Active) > 0
AccountOwnerreference→ Employees (sales rep)
StatementCadenceselectNone, Monthly, Quarterly
StatusselectyesActive, Inactive, Prospect, Suspended
BillingTermsCatalog of payment terms. Net 15, Net 30, Net 60, Net 90, EOM,master
FieldTypeRequiredDetails
TermCodetextyes
Nametextyes
NetDaysnumberyes0 = due on receipt
AnchorRuleselectyesNetDaysFromInvoiceDate, EndOfMonth, FifteenthOfMonthAfter, Prepay
EarlyPayDiscountPercentnumbere.g. 2 for 2/10 net 30
EarlyPayDiscountDaysnumbere.g. 10 for 2/10 net 30
LateFeePolicyselectNone, FlatAmount, PercentOfBalance
LateFeeAmountcurrencyWhen LateFeePolicy = FlatAmount
LateFeePercentnumberWhen LateFeePolicy = PercentOfBalance
Activetoggleyes
InvoiceTemplatesBranded invoice render formats. Picks the logo, tax footnotemaster
FieldTypeRequiredDetails
TemplateCodetextyes
Nametextyes
LegalEntitytextyesIssuing entity name
LogoURLtext
RemitToAddresstextyes
RemitToBanktextACH / wire instructions block
FooterTermstextLegal footer block
DefaultDueRuleselectUseBillingTerm, Net30Override
Activetoggleyes
DunningPoliciesPer-Customer or default dunning policy. Defines aging-bandmaster
FieldTypeRequiredDetails
PolicyCodetextyes
Nametextyes
Band1DaysnumberyesFirst reminder, days past due
Band1TemplatetextyesEmail template ID — reminder
Band2DaysnumberyesEscalation, days past due
Band2TemplatetextyesEmail template ID — escalation
Band3DaysnumberyesDemand, days past due
Band3TemplatetextyesEmail template ID — demand
Band4DaysnumberCollections-case open trigger
EscalationContacttextCC'd from Band2 onward
AppliesToselectyesDefault, ByCustomer, ByCustomerSegment
Activetoggleyes
InvoicesThe customer invoice — the AR atom. Header carries totals;transaction
FieldTypeRequiredDetails
InvoiceNumbertextyes
SourceAppselectlocal, pm-billing, manual
SourceInvoiceReftextWhen SourceApp != local, foreign key to source app's invoice number for cross-app aging
Customerreferenceyes→ Customers
Templatereference→ InvoiceTemplates; required for locally issued invoices
BillingTermreferenceyes→ BillingTerms
TypeselectyesStandard, Recurring, ProjectMilestone, LateFee, Adjustment
RecurringSchedulereference→ RecurringInvoiceSchedules (when Type = Recurring)
OriginalInvoicereference→ Invoices (self — when Type = LateFee or Adjustment)
IssueDatedateyes
DueDatedateyes
Subtotalformulayesfx: SUM(InvoiceLines.LineTotal); local invoices only
TaxTotalformulayesfx: SUM(InvoiceLines.TaxAmount)
Totalformulayesfx: Subtotal + TaxTotal
AmountAppliedformulayesfx: SUM(PaymentApplications.AmountApplied where Invoice = self AND ApplicationType = InvoicePayment AND parent Status IN (Applied, PartiallyApplied)); excludes proposals and returned or refunded receipt effects
CreditAppliedformulayesfx: SUM(CreditMemos.Amount where AppliedToInvoice = self AND Status = Applied)
WriteOffAppliedformulayesfx: SUM(WriteOffs.Amount where Invoice = self AND Status = Posted)
ExternalOpenBalancecurrencyLatest confirmed open balance for a pm-billing collection reference; never combined with local applications
SourceVersiontextGoverning external invoice version or event; reject stale updates
OpenBalanceformulayesfx: IF(SourceApp = pm-billing, ExternalOpenBalance, Total − AmountApplied − CreditApplied − WriteOffApplied)
AgingBucketformulayesfx: IF(OpenBalance <= 0, "Paid", IF(today() <= DueDate, "Current", IF(today() − DueDate <= 30, "1-30", IF(today() − DueDate <= 60, "31-60", IF(today() − DueDate <= 90, "61-90", "90+")))))
CurrencyselectyesUSD only at this size tier; reserved for future multi-currency
PONumbertextCustomer purchase order ref
StatusselectyesDraft, Sent, PartiallyPaid, Paid, Overdue, Disputed, WrittenOff, Voided
SentAtdate
PDFURLtextFrozen at send
GLJournalEntrytextfin-accounting JE ref written by gl-post-on-invoice-send
InvoiceLinesOne line per item billed — product, service, milestone, or Line item of Invoices.line item
FieldTypeRequiredDetails
Invoicereferenceyes→ Invoices
LineNumbernumberyes
Descriptiontextyes
ProductSKUtext
Quantitynumberyes
UnitPricecurrencyyes
LineTotalformulayesfx: Quantity × UnitPrice
RevenueAccounttextyesGL revenue account code
TaxRatePercentnumberSourced from fin-tax-compliance
TaxAmountformulayesfx: LineTotal × TaxRatePercent / 100
ProjectReftextPass-through from pm-billing
RecurringInvoiceSchedulesSubscription / retainer billing config. The recurring-invoicemaster
FieldTypeRequiredDetails
ScheduleNumbertextyes
Customerreferenceyes→ Customers
Templatereferenceyes→ InvoiceTemplates
FrequencyselectyesWeekly, Monthly, Quarterly, Annual
StartDatedateyes
EndDatedate
NextRunDatedateyes
BillingTermreferenceyes→ BillingTerms
TemplateLinestextFrozen line-items snapshot
StatusselectyesActive, Paused, Ended, Cancelled
CreditMemosA credit issued against a Customer or a specific Invoice. Reducestransaction
FieldTypeRequiredDetails
CreditMemoNumbertextyes
Customerreferenceyes→ Customers
AppliedToInvoicereference→ Invoices
IssueDatedateyes
Amountcurrencyyes
ReasonselectyesReturn, PricingAdjustment, Goodwill, BillingError, Cancellation, Other
ApprovedByreference→ Employees (AR Manager)
ApprovedAtdate
StatusselectyesDraft, Approved, Applied, Voided
GLJournalEntrytextfin-accounting JE ref
CreditMemoLinesPer-line detail of a credit memo. Line item of CreditMemos.line item
FieldTypeRequiredDetails
CreditMemoreferenceyes→ CreditMemos
LineNumbernumberyes
Descriptiontextyes
Quantitynumber
UnitPricecurrency
LineTotalcurrencyyes
RevenueAccounttextyes
PaymentsReceivedAn incoming payment from a Customer. May be auto-created by thetransaction
FieldTypeRequiredDetails
PaymentNumbertextyes
Customerreferenceyes→ Customers
MethodselectyesACH, Check, Wire, CardOnFile
Amountcurrencyyes
ReceivedAtdateyes
BankAccounttextReceiving bank account — masked except Controller, AR Manager, Admin
ReferencetextCheck number, ACH trace, wire reference
ProcessorTransactionReftextStable processor event identity. Reconcile its confirmed bank settlement through an explicit source mapping, never by memo similarity alone.
BankFeedTransactionreference→ BankFeedTransactions (when matched)
AmountAppliedformulayesfx: SUM(PaymentApplications.AmountApplied where ApplicationType = InvoicePayment); proposals do not reduce invoice balances
UnappliedAmountformulayesfx: Amount − AmountApplied
StatusselectyesDraft, ProposedMatch, Applied, PartiallyApplied, Returned, Refunded
AppliedByreference→ Employees (AR Clerk)
AppliedAtdate
GLJournalEntrytextfin-accounting JE ref
PaymentApplicationsDistributes a PaymentReceived across one or more Invoices (or Line item of PaymentsReceived.line item
FieldTypeRequiredDetails
PaymentReceivedreferenceyes→ PaymentsReceived
Invoicereference→ Invoices
AmountAppliedcurrencyyes
ApplicationTypeselectyesInvoicePayment, EarlyPayDiscount, ShortPay, Unapplied; only InvoicePayment allocates receipt cash. Discount and short-pay suggestions require a separately approved credit or write-off; Unapplied is explanatory and not another allocation.
NotestextFree text — short-pay reason, discount reference
BankFeedTransactionsRead-stream from the bank API. Source for cash auto-application.transaction
FieldTypeRequiredDetails
FeedTransactionIDtextyesBank-side unique ID
BankAccounttextyesMasked except Controller, AR Manager, Admin
TransactionDatedateyes
Amountcurrencyyes
TypeselectyesCreditACH, CreditWire, Check, DebitACH, Fee, Other
MemotextBank-side memo / reference
CounterpartyNametext
MatchStatusselectyesUnmatched, ProposedMatch, Matched, Ignored
MatchedPaymentreference→ PaymentsReceived
MatchConfidencenumber0–100 score from auto-match
DunningEventsThe audit trail of every dunning communication sent. One row Line item of Invoices.line item
FieldTypeRequiredDetails
Invoicereferenceyes→ Invoices
Customerreferenceyes→ Customers
Policyreferenceyes→ DunningPolicies
BandselectyesBand0Acknowledge, Band1Reminder, Band2Escalation, Band3Demand, Band4CollectionsHandoff
SentAtdateyes
RecipientEmailtextyes
TemplateUsedtextyes
OutcomeselectDelivered, Bounced, Replied, PaymentMade, DisputeOpened
EmailMessageIDtextProvider-side ID for thread tracking
DisputesA customer-raised dispute against an Invoice. Pauses dunningtransaction
FieldTypeRequiredDetails
DisputeNumbertextyes
Invoicereferenceyes→ Invoices
Customerreferenceyes→ Customers
RaisedBytextyesCustomer-side contact
RaisedAtdateyes
ReasonselectyesPricingError, QuantityError, ServiceNotDelivered, DuplicateBill, TaxError, Other
AmountInDisputecurrency
ResolutionselectInvoiceUpheld, CreditMemoIssued, PartialCreditIssued, Voided
ResolvedByreference→ Employees (AR Manager)
ResolvedAtdate
StatusselectyesOpen, UnderReview, Resolved, Closed
WriteOffsUncollectible AR written off the books. Requires Controllertransaction
FieldTypeRequiredDetails
WriteOffNumbertextyes
Invoicereferenceyes→ Invoices
Customerreferenceyes→ Customers
Amountcurrencyyes
WriteOffDatedateyes
ReasonselectyesBankruptcy, Uncollectible, BelowThreshold, SettlementCompromise, Other
RequestedByreferenceyes→ Employees (AR Manager)
ApprovedByreference→ Employees (Controller / CFO)
ApprovedAtdate
StatusselectyesDraft, PendingApproval, Approved, Posted, Reversed
GLJournalEntrytextfin-accounting JE ref
LateFeesLate fees applied per BillingTerm.LateFeePolicy. Each LateFeetransaction
FieldTypeRequiredDetails
LateFeeNumbertextyes
OriginalInvoicereferenceyes→ Invoices
Customerreferenceyes→ Customers
AssessedDatedateyes
FeeAmountcurrencyyes
BasisselectyesFlatAmount, PercentOfBalance
BasisPercentnumber
FollowOnInvoicereference→ Invoices
StatusselectyesAssessed, Invoiced, Waived, Paid
WaivedByreference→ Employees (AR Manager)
ARAgingSnapshotsPeriod-frozen aging buckets per Customer. Written by thetransaction
FieldTypeRequiredDetails
SnapshotNumbertextyes
Customerreferenceyes→ Customers
AsOfDatedateyes
CurrentAmountcurrencyyes
Bucket1To30currencyyes
Bucket31To60currencyyes
Bucket61To90currencyyes
Bucket90Pluscurrencyyes
TotalOpenformulayesfx: CurrentAmount + Bucket1To30 + Bucket31To60 + Bucket61To90 + Bucket90Plus
Periodtextyese.g. 2026-04
CollectionsCasesEscalated collections workflow. Opened when an Invoice crossestransaction
FieldTypeRequiredDetails
CaseNumbertextyes
Customerreferenceyes→ Customers
LeadInvoicereferenceyes→ Invoices (the trigger invoice)
OpenedAtdateyes
OpenedByreference→ Employees (AR Manager)
Ownerreference→ Employees (assigned AR Clerk or AR Manager)
TotalInScopecurrencySum of in-case Invoice OpenBalance
StageselectyesInternal, ExternalAgency, LegalReview, Litigation, SettlementOffered, Closed
ResolutionTypeselectFullPayment, PartialSettlement, WrittenOff, Bankruptcy, OnHoldIndefinite
ResolvedAtdate
StatusselectyesOpen, OnHold, Resolved, Closed
CreditHoldsCustomer-level credit hold. While Active, no new Invoices maytransaction
FieldTypeRequiredDetails
HoldNumbertextyes
Customerreferenceyes→ Customers
ReasonselectyesAgingBreach, CreditLimitExceeded, ManualReview, BankruptcyFiling, DisputeOpenOverThreshold
HeldAtdateyes
HeldByreference→ Employees (AR Manager)
ReleasedAtdate
ReleasedByreference→ Employees (AR Manager)
Notestext
StatusselectyesActive, Released, Auto-Cleared
EmployeesA scoped employee identity directory synchronized from the organization identity or HR source. This reference supports ownership and approval attribution; it does not add payroll or HR administration. Role membership alone never grants access to every directory field. External auditors and portal users receive only the identities needed for their granted work.master
FieldTypeRequiredDetails
EmployeeNumbertextyesStable source identifier; unique within the organization
NametextyesDisplay name for an assigned owner or approver
UserKeytextyesBound to the authenticated platform user; never supplied as authority by a client
DepartmenttextOrganization-scoped department key
Managerreference→ Employees; synchronized reporting relationship
ActivebooleanyesInactive identities retained for historical attribution; cannot receive new work
ERP•AI workspace

Start now Accounts Receivable System

Create your ERP.AI account and get started with Proto.

Start now Download agent
Previous · reference 2 of 6Reports and analyticsNext · reference 4 of 6Integrations

Customize Accounts Receivable System. With Proto, your desktop AI agent.

Ask Proto to help you customize Accounts Receivable System.

Customize
Accounts Receivable System.
Ask: “Adapt Customer billing.”
ProtoYour desktop AI agent
Download nowFree install · ~1 GB · AI usage extra
macOSWindowsLinux

Bring your first idea to Proto.

Keep this page open while you install Proto. Connect your account and model, then paste this into a new chat.

AI usage is paid separately. You can edit the prompt before copying.

ERP.AI

Business apps and the Proto desktop agent.

  • Business Apps
  • Proto
  • Workflows
  • Headless SaaS
  • Enterprise
  • Pricing
  • Contact
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
© 2026 ERP•AI. All rights reserved.
System status

Your Privacy, Your Choice

We use essential cookies to run the site and optional cookies for features, analytics, and relevant content. See Cookie policy

Manage Your Cookie Preferences

We use cookies to enhance your experience, analyze site traffic, and serve relevant content. By clicking "Accept All," you agree to our use of cookies. You can customize your preferences at any time.

Learn more about how we use cookies

These cookies are required for the website to function properly. They ensure security, enable basic features like page navigation, and store user session data. You cannot disable these cookies.

These cookies enable additional features that enhance your experience, such as live chat, video playback, personalized content recommendations, and remembering user preferences.

These cookies help us understand how visitors interact with our site by collecting anonymous usage data. This allows us to measure performance, detect issues, and continuously improve the user experience.

These cookies allow us and advertising partners, including X, to deliver ads tailored to your interests. They track browsing habits across sites to provide relevant advertising and measure ad effectiveness.