Skip to main content

Tango Project Invoice Outbound — File

Generated from Tango Project Invoice Outbound Integration Design Specification V0.7.docx in SharePoint folder 04 Projects Integrations. OAS spec: invoice-outbound-file.yaml

Overview

SFTP file-based outbound integration. Tango writes approved invoices as a pipe-delimited text file with both header and detail information. The client reads the file from the SFTP server and loads it into its target system. After export, Tango marks the invoices as Exported. Owner: Tango Analytics Spec version: 0.7 Status: Draft (auto-generated from design doc — needs review)

Transport

Existing files are moved to Processed/ with a timestamp suffix before each new write.

Integration logic

  • Tango pulls newly approved invoices and generates the file.
  • If no approved invoices exist, no file is generated.
  • Lines with Net Amount = 0 are excluded.
  • INVOICE_ID is the reconciliation key — the client must round-trip it via Invoice Inbound to mark a payment.
  • INVOICE_DETAIL_ID uniquely identifies each line.
  • Validations on mandatory fields are run before the file is written; failures land in the service log and are emailed to a client distribution list.

Data fields

Validations

Open Questions / Assumptions

  • SFTP credentials are blank in the source — User and Password fields are left empty in the doc.
  • Timing/frequency is <TBD>.
  • PROJECT_NUMBER is typed NUMBER but the sample value 43-42342 contains a hyphen — likely a documentation mismatch; schema follows the table.
  • INVOICE_DATE vs INV_DATE: the validation table uses INVOICE_DATE, but the data-mapping uses INV_DATE. Treated as the same field.
  • INV_AMOUNT vs INVOICE_AMOUNT: similar drift — validations name INV_AMOUNT, mapping uses INVOICE_AMOUNT. Treated as the same field.
  • Error-email recipient list is a placeholder <email-id> in source — supply on rollout.
  • Lookup values for currency, payment terms, segments are <TBD> in the Appendix.
  • Header/Trailer row formats aren’t separately defined; assumed only Detail rows match the schema.

Changelog