Printing a Fiscal Receipt Before Payment of an Order (Federal Law-54)

Tags: v9preview4 v9

Starting from V9Preview4, it is now possible to print a fiscal receipt before payment of an order: PrintFiscalChequeBeforePaymentOrder.

To print a fiscal receipt before payment of an order, the following conditions must be met:

Also, printing a fiscal receipt before payment is not available for deliveries, except for the takeout mode.

Before payment of the order PayOrder or before printing the fiscal receipt before payment of the order PrintFiscalChequeBeforePaymentOrder, a notification will trigger: BeforeProceedOrderPayment. If any of the subscribed plugins throw an OperationCanceledException, the addition of the payment will be canceled.

When printing a fiscal receipt before payment, the order will enter a non-editable state (status Bill), however, the payments will not be processed.

In case of success, the order is marked as fiscalized: IsFiscalizedBeforePayment. All payments of the order are marked as fiscalized: IsFiscalizedLocally.

In case of an error, the front will throw an exception with the error description: PrintFiscalChequeBeforePaymentOrderFailed.

Closing a Fiscalized Order

A fiscal receipt can be printed once before payment for an order. Then the fiscalized order can be closed: PayOrder. At this stage, all unprocessed payments will be processed. If the fiscalized order has been modified, then when executing IOperationService.PayOrder, the following will be printed for the order:

Correction Receipt

A fiscalized order is considered modified if at least one of the following conditions is met:

To track the fiscal operation “correction receipt” (for FFD 1.1 and above), which occurs when paying for a modified fiscalized order, use:

Deleting a Fiscalized Order

When deleting a fiscalized order, a fiscal return receipt will be printed.

Examples of calls to PrintFiscalChequeBeforePaymentOrder can be found in the SDK SamplePaymentPlugin project.