Skip to main content

Tango Project Invoice Inbound (Payment Confirmation) — File

Generated from Tango Project Invoice Inbound (Payment Confirmation) Integration Design v0.7.docx in SharePoint folder 04 Projects Integrations. OAS spec: invoice-inbound-file.yaml

Overview

SFTP file-based inbound integration. Client drops a pipe-delimited text file with invoice payment confirmation rows to Tango’s SFTP server; Tango’s batch program reads the file, updates payment records in the Projects → Costs → Payments tab, and moves the file to the Processed folder. Owner: Tango Analytics Spec version: 0.7 Status: Draft (auto-generated from design doc — needs review)

Transport

Tango moves picked-up files to Processed/ with a timestamp suffix.

Integration logic

  • Uniqueness key: (Invoice_ID, Payment_Number). Re-sending the same combination updates the existing payment record.
  • Tango never deletes existing payments or invoices.
  • After this integration, the invoice status transitions: Approved → Exported → Paid.
  • An invoice can only become Paid if linked to a Paid payment.
  • A payment linked to a Paid invoice cannot be modified (it must be voided first, then a new payment can be issued).
  • When Payment_Status = PAID, Invoice_Status must also be PAID; if blank, it defaults to PAID.
  • Tango does NOT validate that payment amounts sum to the invoice amount.
  • Files containing only a header (no data rows) produce a no records to process service-log entry.

Data fields

Status-transition matrix (source doc Appendix)

Validations

Open Questions / Assumptions

  • SFTP credentials are <TBD> — supplied per environment.
  • Timing/frequency is <TBD>.
  • Header / Trailer row formats not defined — assumed only the data-mapping table describes Detail rows.
  • Client_ID is described as “to be provided by Tango” but the doc doesn’t say how — assumed it’s a constant per client, embedded in every row.

Changelog