microsoft / microsoft/BCApps

[Bug]: [IT] Posted Sales Invoice does not print payment installments / Posted Payment Lines

Open
#11,398 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Approved Team: Finance
Dominant language
AL
Stars
683
Forks
459
Avg merge
3d 26m
Merged PRs (30d)
633

Description

Describe the issue

In the Italian localization, sales documents can use payment terms with installments. The standard localization creates and, after posting, persists the corresponding payment schedule in "Payment Lines" / "Posted Payment Lines".

However, when a posted sales invoice is printed using the standard invoice report/layout, the payment installment lines are not included in the generated document.

As a consequence, the customer-facing invoice PDF does not show the actual payment schedule and, in particular, the due date(s) associated with the invoice installments, even though those dates are available in the standard "Posted Payment Lines" records.

This creates a disconnect between the payment information maintained by the Italian localization and the information presented on the standard printed sales invoice.

Expected behavior

When a posted sales invoice has one or more corresponding "Posted Payment Lines", the standard Italian sales invoice report should expose and print the payment schedule.

At minimum, each installment should show:

  • Due Date
  • Amount

Where useful, the payment method or other standard payment-line information could also be included.

For a single-payment invoice, the result should still make the effective payment due date visible to the customer.

The report dataset should expose the standard posted payment lines so that custom layouts can also consume them without having to reconstruct the payment schedule independently.

Steps to reproduce
  1. Use an Italian Business Central company/localization.

  2. Create or configure Payment Terms with multiple payment installments using the standard Italian "Payment Lines" functionality.

  3. Assign those Payment Terms to a customer.

  4. Create a Sales Invoice for that customer.

  5. Post the invoice.

  6. Open the standard posted-payment information for the posted invoice and verify that the corresponding records exist in "Posted Payment Lines", with the expected installment due dates and amounts.

  7. Print or preview the posted Sales Invoice using the standard report/layout.

  8. Observe that the payment installments from "Posted Payment Lines" are not printed on the invoice.

The resulting PDF therefore does not communicate the installment due dates to the customer.

Additional context

This appears to be a reporting/localization gap rather than missing payment functionality.

The Italian Base Application already has standard support for these records:

  • "Payment Lines" is used for the unposted payment schedule.
  • "Posted Payment Lines" stores the payment schedule after posting.
  • The standard "Posted Payments" page uses "Posted Payment Lines" as its source table.

The payment schedule therefore already exists in standard Business Central data; the missing part appears to be its inclusion in the standard sales invoice report dataset/layout.

This is especially problematic for installment payment terms because printing only generic payment terms, without the generated payment lines, does not tell the recipient the actual installment due dates and amounts.

A fix that exposes "Posted Payment Lines" in the standard posted Sales Invoice report dataset and renders them in the default Italian layout would also avoid extensions having to independently reproduce standard Italian payment-schedule logic.

I am willing to contribute a fix if the proposed direction is acceptable.

I will provide a fix for a bug
  • I will provide a fix for a bug

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the standard posted Sales Invoice report dataset and the default Italian layout, then inspect how the existing Posted Payment Lines records are exposed by the Posted Payments page. Done means the report dataset exposes those lines and the Italian layout prints each installment's due date and amount for posted invoices.

Written by the indexing model from the issue text.

Assessment

Domain
localization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.