Magidoc

CustomerInvoice
Object

Fields

#

_id

ID !
Non-null

workspaceId

ID !
Non-null

worksheetId

The worksheet this invoice was generated from. Null for imported opening balances and mirrored provider invoices, which carry migrationRunId instead.

worksheetDocumentNumber

The number of that worksheet, joined at read time so a surface can name the document the invoice came from rather than printing the constant words Billing worksheet. Null when the invoice came from no worksheet, or names one this workspace cannot resolve.

migrationRunId

The import run that wrote this invoice, when it came from one.

projectId

The project this invoice bills. Null for mirrored provider invoices, which bill a customer directly.

projectName

Name of the project this document is filed against, resolved at read time and scoped to what the requesting member may see. Null when the project no longer exists or is not visible to them — clients render their unlinked fallback for both, and must never assume the name of a project the reader cannot open.

clientAccountId

clientAccountName

The client's name, joined from the CRM account clientAccountId points at. Null when the invoice names no client, or names one this workspace cannot resolve — a deleted account, or one that is not its own.

ownerId

Written by assignFinanceOwnerReviewer's customerInvoice branch alongside reviewerId. Null on every invoice nobody has been assigned to, which is most of them — an assignment is a routing fact, not a lifecycle one.

reviewerId

glCompanyId

The GL company whose books this invoice belongs to, as the company its documentNumber was drawn under. Null keeps the workspace's one implicit set of books.

issuerName

The issuing GL company's name, or the workspace name for invoices with implicit books. Unresolved company references return null.

issuerAddress

Sender address from the invoice's own GL company. Absent until that company has an invoice address.

documentNumber

Non-null

status

Non-null

issueDate

Non-null

dueDate

terms

paymentTermId

subtotal

Non-null

taxTotal

Non-null

sentAt

sentTo

postedAt

postedBy

journalId

reversalJournalId

postingBatchId

voidedAt

voidedBy

voidReason

approvalChain

total

Non-null

balance

Non-null

currencyConversion

paymentState

applyTaxAfterDiscount

billingEmail

customFields

emailStatus

freeFormAddress

linkedTransactions

onlinePaymentOptions

printStatus

privateNote

shippingAddress

shipFromAddress

taxExemptionExternalId

layoutId

The layout recorded on this invoice, chosen when its draft was generated. Null is the state every invoice was in before a layout could be chosen — a real answer, not a missing one, so a client renders its default rather than waiting for a layout. Print/PDF resolves the selected layout at read time; changing a saved layout changes subsequent output.

layoutName

Name of the layout layoutId points at, resolved at read time. Null when the invoice names no layout, or names one this workspace cannot resolve — a deleted layout, or one that is not its own.

layout

The selected layout's current presentation settings. Null for an omitted, deleted or foreign-workspace layout.

unbilled

What the proposal agreed that this draft did not ask for. Absent unless a generator wrote it.

advanceBillingApplications

The advance billing applied against this invoice, oldest first. Stored on the advance bill's side of the relationship, so an invoice an advance had paid down showed the reduced balance and no document accounting for it — the credits panel answers for credit memos and Payments & credits for receipts, and neither covers an advance. Empty on an invoice no advance has been applied to.

receiptAllocations

The receipts applied against this invoice, oldest payment first. Stored on the receipt's side of the relationship, so an invoice a payment had settled showed the reduced balance and named nothing that took it down: the credits panel answers for credit memos and the advances panel for advance billing, and neither covers cash. Empty on an invoice no receipt has been applied to.

createdAt

Non-null

modifiedAt

Non-null

createdBy

ID !
Non-null

modifiedBy

ID !
Non-null

Usages

#

References

#

  • Field getFinanceCustomerInvoices from Query
  • Field getFinanceRetainerAgreementInvoices from Query