Submitting invoices

Once invoice information is completed and correct, you may submit an invoice to the customer. To submit an invoice, call the PUT /api/invoice/submit/ method of the CorrigoPro Direct API.

🚧

SLA

When working on an invoice, make sure you stay within invoice submission timelines as it affects your score in a customer system.

Submit validation rules

  1. Work order should be completed or checked out. Otherwise an error with code 3051 will be returned.
  2. Invoice status should allow invoice submission. Check InvoiceStatus for more details. Otherwise an error with code 3050 will be returned.
  3. Invoice date should be specified.
  4. Invoice number should be specified.
  5. Description should be specified in each line item.
  6. Discount amount should be a valid money value (if specified).
  7. Each line item quantity should be a valid decimal value and not equal to zero.
  8. Each line item rate should be a valid money value. For items of category PriceList with read-only rate, this means saved rate must match price list predefined rate.
  9. Each line item should have a valid category. For items of category PriceList, this means a customer price list item with a given id should exist.

If any of rules #3-9 is violated, submit operation will be aborted and error with code 3052 will be returned.

Tax validation

Some customers have internal mechanisms of verifying tax amounts according to the invoice contents. If given tax amount does not match a recommended value calculated by the customer system, an error with code 3056 will be returned.
If you believe that tax validation results are incorrect, you may proceed with invoice submission by setting SubmitAnyway flag value to true, as described in PUT /api/invoice/submit/ API reference.

Work order completion details

It is possible to adjust work done description, repair info and customer questions after work order is completed. Updated values will be received by the customer only when invoice is submitted.

🚧

Completion details validation

Submitting an invoice triggers the same work done details validation routine as during work order completion. Any validation error will abort submission process. See Completing work orders section for more details.

If work order is in status NeedsCompletionDetails, and all required completion info is present, invoice submission will automatically transfer work order to status Completed.