diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1998a0802..3affba0be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,44 @@ follow semantic versioning; release dates are ISO 8601.
### Public API
+- **A DOCX export stands a table's text cells on the page's baselines, and what follows a
+ paragraph or a ruled table where the page sets it.**
+ - **A row of text cells is moved by its margins.** The page sets a cell's line its face's ascent
+ below the line's top; Word stands an exact line's baseline four fifths of the way down it,
+ whatever the face. A cell's text stood as far off as the two are apart, at the top, the middle
+ or the bottom of the cell: a line of 8pt Poppins 0.58pt low in Word and 0.55pt in LibreOffice,
+ of Helvetica 0.24 and 0.16pt, of Lato 0.24 and 0.25pt high (measured). Both editors give every
+ cell of a row its largest top and bottom margins, so the row's top margin is made smaller and
+ its bottom one as much larger — or the other way — by the least any of its cells calls for, no
+ further than the margin holds: every cell's text moves with its room, and the row keeps its
+ height. Measured, the lines then stood within 0.04pt of the page's in Word and 0.09pt in
+ LibreOffice. A row is not moved where its cells call for opposite ways or its least call is
+ under a tenth of a point. Not a row holding a composed cell, whose paragraphs their own writers
+ seat where they can, nor a row the layout did not measure, nor one in a vertical merge. What the
+ margins leave of a cell's call, half a point and more, is moved by its text's position, as a
+ paragraph's is: a cell of 8pt Poppins beside one of Lato, the two called opposite ways, stood
+ 0.58pt low.
+ - **A paragraph written at its tallest line owes what its rounding takes.** Its lines are
+ written to the twip, and what that took from the page's height over several lines stood what
+ follows higher: `ModernInvoice`'s address blocks, six lines of 11.475pt written at 11.45,
+ stood the table under them 0.15pt high in both editors. It is owed below the paragraph, as a
+ paragraph written at another height owes what it falls short.
+ - **A table's rules come off its padding as wide as Word draws them**, in eighths of a point: a
+ 0.7pt hairline is drawn 0.75pt wide, and taken off at 0.7 it stood `EditorialProposal`'s tables
+ and all under them a step of Word's grid lower. A cell's rule is written from two to
+ ninety-six eighths, the range of a line border's width, as a paragraph's rule is.
+
+ In the DOCX fidelity corpus 12 documents stand nearer the page in Word, the sum of the medians
+ 1.45pt nearer — `invoice-consulting_long`'s median line from 0.74pt to 0.35pt,
+ `invoice-classic_long`'s from 0.26pt to 0.06pt, `invoice-subscription`'s from 0.56pt to 0.43pt —
+ and 12 in LibreOffice on Windows, 1.38pt, `invoice-consulting_long`'s from 0.69pt to 0.22pt.
+ `invoice-modern`'s moves from 0.08pt to 0.12pt in Word and from 0.07pt to 0.13pt in LibreOffice:
+ its table's text, set low in its cells, had stood where the page sets it only because its rows
+ stood as much high, and the notes under the table stand 0.1pt lower, where Word leaves more space
+ after a table than the page does. `cv-editorial_blue`'s skills table now stands with the column
+ round it, which LibreOffice sets 0.1 to 0.3pt high: its median there from 0.09pt to 0.14pt. The
+ report names nothing more.
+
- **A DOCX export raises a line Word sets low into the space above it, where both editors keep
it.** Both editors stand an exact line's baseline four fifths of the way down it whatever the
face — measured on the fifteen faces the templates use and JetBrains Mono, 8 to 36pt — and the
@@ -52,10 +90,8 @@ follow semantic versioning; release dates are ISO 8601.
writes as its tallest line's; the page sets each at its own, so a wrapped line after a large
first one stands closer on the page. Lines rounded up to the twip, over enough of them, pass
the page too and hang the same way: `OrangeOps`' achievement lines, a 0.08pt gap between
- them written as a tenth (measured). What rounding takes from a paragraph written at its
- tallest line is not owed: owed, it stood `ModernInvoice`'s lines a step or two of Word's grid
- lower (measured). A tenth of a point or less is left either way: Word sets lines on a grid
- 0.12pt apart.
+ them written as a tenth (measured). A tenth of a point or less is left either way: Word sets
+ lines on a grid 0.12pt apart.
- A paragraph the layout opens a page with, with no top edge of its own to hold there, leaves
what the block above leaves below itself on the page above, as one with an edge does.
@@ -1388,17 +1424,17 @@ follow semantic versioning; release dates are ISO 8601.
moved to the page's baseline (`w:position`) wherever the two stand half a point or more apart,
from the line Word was given — a line pair's from the higher text's top, lines that took their
gaps from the space above from that higher top, several lines at the middle one; a list item's
- and a table text cell's are not moved yet. Lines a container stacks tighter than their face are
- each written to end halfway between their own letters and the next line's, read from the glyphs'
- outlines: Word draws an exact line's text on screen only inside the line, and lines a pitch tall
- cut the title's descenders and capitals there. Where the last layer of a shape container runs
- past its foot, it ends at the foot, or below its letters where they hang past it. Where the page
- sets two lines' letters into each other the edge still falls halfway, so the page does not move;
- a stack whose letters cannot be read, or that holds a picture, keeps each line's own height, and
- a line with space above or below it stays out of a stack. In Word `NorthlineProposal`'s median
- drift falls
- from 8.0pt to 0.8, its cover within 1.5pt of the page throughout, and `EditorialProposal`'s from
- 5.9 to 0.4; across the 62 templates, lines more than 2pt off fall from 1464 to 1341.
+ is not moved yet, and a table text cell's is moved by its row's margins where its row allows (see
+ above). Lines a container stacks tighter than their face are each written to end halfway between
+ their own letters and the next line's, read from the glyphs' outlines: Word draws an exact line's
+ text on screen only inside the line, and lines a pitch tall cut the title's descenders and
+ capitals there. Where the last layer of a shape container runs past its foot, it ends at the foot,
+ or below its letters where they hang past it. Where the page sets two lines' letters into each
+ other the edge still falls halfway, so the page does not move; a stack whose letters cannot be
+ read, or that holds a picture, keeps each line's own height, and a line with space above or below
+ it stays out of a stack. In Word `NorthlineProposal`'s median drift falls from 8.0pt to 0.8, its
+ cover within 1.5pt of the page throughout, and `EditorialProposal`'s from 5.9 to 0.4; across the
+ 62 templates, lines more than 2pt off fall from 1464 to 1341.
- **A value set from its start keeps its start in Word.** Two texts one layer holds on one line —
a label and its value, a title and its dates — are written as one Word line split by a tab
stop, and the stop was always a right tab at the right text's end. A value aligned left in a
diff --git a/assets/readme/examples/word-export-companion.docx b/assets/readme/examples/word-export-companion.docx
index 944d2de0e..2ad749e3f 100644
Binary files a/assets/readme/examples/word-export-companion.docx and b/assets/readme/examples/word-export-companion.docx differ
diff --git a/docs/architecture/backend-capability-matrix.md b/docs/architecture/backend-capability-matrix.md
index d285452c3..a44d6d711 100644
--- a/docs/architecture/backend-capability-matrix.md
+++ b/docs/architecture/backend-capability-matrix.md
@@ -63,7 +63,7 @@ Payload records live in `core` under
| Capability (payload) | PDF (fixed) | PPTX (fixed) | DOCX (semantic) |
|---|---|---|---|
-| Paragraph — pre-wrapped lines, runs, alignment (`ParagraphFragmentPayload`) | ✅ `PdfParagraphFragmentRenderHandler` | ✅ `PptxParagraphFragmentRenderHandler` (one absolute, wrap-disabled frame per measured line) | ⚠️ semantic paragraphs (`DocxSemanticBackend`) — each run keeps its own style, falling back to the paragraph's when it has none; a centred or right-aligned left-to-right line of its own, of text alone and untracked, that Word sets a point or more wider or narrower at its half-point size has its letters spaced by the difference (`w:spacing`) and its room reckoned from the page's width; a `linkTarget` becomes a `w:hyperlink`, with a relationship for an address or `w:anchor` for one of the document's own anchors, and a run's own link wins over the paragraph's; a paragraph seated off its baseline (`TextVerticalAlign`) has its runs raised or lowered in the line (`w:position`) by the PDF backend's own correction (`ParagraphSeating`), one shift for the paragraph where the page seats each line by its own; Word and LibreOffice stand an exact line's baseline four fifths of the way down it whatever the face, where the page sets it the face's ascent down, matched at a paragraph's middle line: a line of its own Word sets a tenth of a point or more low is moved up into the space written above it and that space owed below it, in the flow and in cells, not in an overlay, a paragraph the layout moves to a new page or breaks over one, nor the space a panel's top border takes above its first line; what that space cannot give, and a line Word sets high, is moved in the same position where the two are half a point or more apart — Spectral's, not Lato's — which LibreOffice moves further by the face's height over its em (not yet a list item's or a table text cell's; a picture among it moves with it in Word and stays on its own baseline in LibreOffice); lines a container stacks over one another tighter than their face each end halfway between their letters and the next line's (Word draws an exact line's text on screen only inside the line; its PDF export does not cut it), and the last layer of a shape container on one page, where its line runs past the foot, ends at the foot or below its letters; letters two lines share are split halfway so the page does not move, and a stack that holds a picture keeps its lines' own heights; a `bulletOffset` of spaces becomes the paragraph's indent (`w:ind` left, hanging or first line, by `indentStrategy`) in the flow and in cells, not yet over the flow, in an overlay's left-and-right pair, as a badge's initials or in a header or footer; one with letters in it is not written, its wrapped lines still set after the spaces that cover it; an auto-sized paragraph's text that takes its style is written at the size the page fits it to, read off the laid-out lines, a run with a style of its own keeping it, on every path that writes a paragraph — at its style's size where the lines do not tell the fitted size (no lines read, lines in sizes that do not say which is the paragraph's, or one paragraph added at more than one place); a paragraph a session reads as markdown — the default, unless `markdown(false)` — is written as the page sets it, read through the page's own parser, one run a piece in the face, family, colour, tracking and size the page's laid-out lines hold (an auto-sized one's read at the size the page fits it to, a heading at its multiple of it), its marks dropped, wherever the lines hold the pieces' letters so; where they are not read, or hold other letters or none (text the parser reads into nothing, which the page sets as nothing), as authored, its marks as letters; a `bookmark(...)` is Word's `HeadingN`, which Word's outline lists by the text of its Word paragraph — an overlay's pair's whole line, one level for both sides — at no level past the ninth. Outside a header or footer, the paragraph's report note (`ParagraphNode`) names each of these where it moves or renames something: the prefix's letters, and the room a path that writes no prefix leaves out where it moves a line; the size an auto-sized paragraph's text is written at, where the size the page fits it to is not measured; the marks of a paragraph the page read as markdown and the file holds as letters, where its laid-out lines hold fewer of them than its text, not measured where its lines are not read; a markdown heading written taller than the line the page sets it in, which Word cuts on screen; an outline title that is not the text Word lists, a level past the ninth that shares it with another, and the right side's entry where the left holds the line's level |
+| Paragraph — pre-wrapped lines, runs, alignment (`ParagraphFragmentPayload`) | ✅ `PdfParagraphFragmentRenderHandler` | ✅ `PptxParagraphFragmentRenderHandler` (one absolute, wrap-disabled frame per measured line) | ⚠️ semantic paragraphs (`DocxSemanticBackend`) — each run keeps its own style, falling back to the paragraph's when it has none; a centred or right-aligned left-to-right line of its own, of text alone and untracked, that Word sets a point or more wider or narrower at its half-point size has its letters spaced by the difference (`w:spacing`) and its room reckoned from the page's width; a `linkTarget` becomes a `w:hyperlink`, with a relationship for an address or `w:anchor` for one of the document's own anchors, and a run's own link wins over the paragraph's; a paragraph seated off its baseline (`TextVerticalAlign`) has its runs raised or lowered in the line (`w:position`) by the PDF backend's own correction (`ParagraphSeating`), one shift for the paragraph where the page seats each line by its own; Word and LibreOffice stand an exact line's baseline four fifths of the way down it whatever the face, where the page sets it the face's ascent down, matched at a paragraph's middle line: a line of its own Word sets a tenth of a point or more low is moved up into the space written above it and that space owed below it, in the flow and in cells, not in an overlay, a paragraph the layout moves to a new page or breaks over one, nor the space a panel's top border takes above its first line; what that space cannot give, and a line Word sets high, is moved in the same position where the two are half a point or more apart — Spectral's, not Lato's — which LibreOffice moves further by the face's height over its em (not yet a list item's; a table text cell's by its row's margins, see Table rows; a picture among it moves with it in Word and stays on its own baseline in LibreOffice); lines a container stacks over one another tighter than their face each end halfway between their letters and the next line's (Word draws an exact line's text on screen only inside the line; its PDF export does not cut it), and the last layer of a shape container on one page, where its line runs past the foot, ends at the foot or below its letters; letters two lines share are split halfway so the page does not move, and a stack that holds a picture keeps its lines' own heights; a `bulletOffset` of spaces becomes the paragraph's indent (`w:ind` left, hanging or first line, by `indentStrategy`) in the flow and in cells, not yet over the flow, in an overlay's left-and-right pair, as a badge's initials or in a header or footer; one with letters in it is not written, its wrapped lines still set after the spaces that cover it; an auto-sized paragraph's text that takes its style is written at the size the page fits it to, read off the laid-out lines, a run with a style of its own keeping it, on every path that writes a paragraph — at its style's size where the lines do not tell the fitted size (no lines read, lines in sizes that do not say which is the paragraph's, or one paragraph added at more than one place); a paragraph a session reads as markdown — the default, unless `markdown(false)` — is written as the page sets it, read through the page's own parser, one run a piece in the face, family, colour, tracking and size the page's laid-out lines hold (an auto-sized one's read at the size the page fits it to, a heading at its multiple of it), its marks dropped, wherever the lines hold the pieces' letters so; where they are not read, or hold other letters or none (text the parser reads into nothing, which the page sets as nothing), as authored, its marks as letters; a `bookmark(...)` is Word's `HeadingN`, which Word's outline lists by the text of its Word paragraph — an overlay's pair's whole line, one level for both sides — at no level past the ninth. Outside a header or footer, the paragraph's report note (`ParagraphNode`) names each of these where it moves or renames something: the prefix's letters, and the room a path that writes no prefix leaves out where it moves a line; the size an auto-sized paragraph's text is written at, where the size the page fits it to is not measured; the marks of a paragraph the page read as markdown and the file holds as letters, where its laid-out lines hold fewer of them than its text, not measured where its lines are not read; a markdown heading written taller than the line the page sets it in, which Word cuts on screen; an outline title that is not the text Word lists, a level past the ninth that shares it with another, and the right side's entry where the left holds the line's level |
| List hanging indent — a marker column and a content column (`ListBuilder.hangingIndent(true)`, `markerGap(...)`) | ✅ marker and content emitted as separate `ParagraphFragmentPayload` fragments at the resolved `markerX` / `contentX` | ✅ the same fragments — the fixed-layout pipeline resolves the geometry before either backend sees it | ⚠️ the top level only. `DocxSemanticBackend` exports a list as a real Word list — `numbering.xml`, `w:numPr` per item, the level carrying the marker — or, with rich items or a drawn marker, as paragraphs; content and nesting are unaffected. With the flag, the top level's marker column is the layout's — the marker's width and `markerGap`, the text and its wrapped lines where the page sets them — where the gap covers what Word may set the marker wider: a picture at its written size, its edges included, or text in the page's face (embedded, or a standard one Word sets in the same widths) grown to its half-point size, half a point clear. A Word list's level then indents and hangs by that column; a list of paragraphs writes the marker, a tab to a stop there, and hangs the item there. Word places content at absolute indents and has no relative-advance primitive, so without the layout's measure the gap could not be honoured; a Word list without the flag that the layout placed and that does not nest takes the page's column too, the spaces the page sets its wrapped lines after, its marker followed by a space (`w:suff`) and an item that wraps measured at Word's half-point size; a list that nests items, a list built as a tree of items (laid out flattened), and a marker the gap does not clear keep the stated column (180 twips, plus 120 per nesting level) — except, in a list of paragraphs, a nested rich item with no marker, which stands where the layout set its text, its measure weighed at Word's half-point sizes, where the layout's items are matched to the list's; a list that nests only such items sets its top level at the page's column too. The report counts, on the list, the items that stand at a stated column, a space past their marker or two spaces a level in, and names a centred or right-aligned list written flush left, a lineSpacing not written where the layout's items are not the list's own and one wraps (in a list composed in a table cell, its wrapping not measured), a continuationIndent not written where an item of a markerless list or a tree of items without the flag wraps or its wrapping is not measured, the rows the page draws as a marker alone for blank items of a flagged list, which are not written, and what items the page reads as markdown lose. An item of plain text the page reads as markdown — the default, unless `markdown(false)` — is written as the page sets it, matched to the lines the page laid it out in and read as the page lays it out (a flat item after the marker the page sets before it; a flagged item as its text alone; an item of a list built as a tree of items without the flag after the indent and marker the page reads with it), one run a piece in the face, family, colour, tracking and size those lines hold, Word or the file drawing the marker where it did (Word draws a tree's bullets regular, as the parser sets the marker it reads), the font table shipping the faces the page sets the pieces in; it is written as authored, its marks as letters, where its list's items are not matched one by one to the layout's (no layout, composed in a table cell, an item run onto the next page, a flagged list with a blank item), where its lines hold other letters, where the parser reads a tree's marker as markdown with the item (`*a*`), and where the parser reads it into nothing, and named where the page drops a mark from it or sets none of its text — not where it changes only its face or letters no mark is made of (`1.`); a markdown heading written taller than its item's line is named |
| Inline code/badge chips (`InlineBackground` on text spans) | ✅ `PdfParagraphFragmentRenderHandler` | ✅ `PptxParagraphFragmentRenderHandler` | ⚠️ `DocxSemanticBackend` — the fill becomes the run's own `w:shd`, in a paragraph and in a list item alike, so a badge still reads as a badge. What Word has no way to say is the shape: shading covers the glyph box, so the corner radius and the padding above and below the letters are not in the file, and the export records them. The padding beside the letters is written as the room it takes (`spaceAfterTheLastLetter`): character spacing after the chip's last letter, shaded with it, and after the letter before the chip, unshaded. A chip opening its line or following a picture has no letter before it, so its left padding is not in the file; no space is written after right-to-left letters or after a symbol or emoji. The export records, chip by chip, how each side was written. LibreOffice sets no spacing after a line's last letter, so it does not apply the right padding of a chip that ends a line. A `w:shd` fill is opaque, so a translucent chip is flattened first against what Word paints underneath it — the paragraph's shading, the cell's, or else the colour the page paints under the paragraph, a page background included — so the chip agrees with the file it is in and shows the colour the PDF shows. It stops being translucent, and that is recorded with the rest |
| Inline images (`ParagraphImageSpan`) | ✅ `PdfParagraphFragmentRenderHandler` | ✅ `PptxParagraphFragmentRenderHandler` | ✅ `DocxSemanticBackend.writeInlinePicture` (a picture in its own run where it sits among the words, at its size, inside the run's or the paragraph's link; raised or lowered by `w:position` to where the page's alignment and `baselineOffset` put it, from the layout's measure of the paragraph's first line — in a list, the list's text on a line as tall as the item's own tallest picture; LibreOffice ignores `w:position` on a picture and stands it on the baseline, so a picture the export draws itself (icon, emoji, shape) that the page raises carries the rise as transparent rows and needs no `w:position`, while one the page lowers stands in LibreOffice higher than on the page by as much as the page lowers it — up to the text's descent for a centred icon as tall as its line; the editor clips a picture to an exact line height, so a paragraph holding a picture that leaves its text — past the ascent or the descent, in Word's placement or on the baseline — has its lines written at least the height the picture reaches, grown by the editor rather than clipped, every line of the paragraph since Word has one line height for it, and each as tall as the editor's font makes it — for 14pt text about 2.5pt taller than the page's in LibreOffice; a picture inside its text in both editors keeps the exact height; a paragraph of one line of text in a Word paragraph of its own, with room above for its pictures' reach, keeps an exact line at the page's height of it, the pictures set in it where the page puts them in Word and what their ink reaches past it taken from the gaps around it, and in LibreOffice a lowered picture there stands higher and loses what passes the line's top; its description is the text it stands for or empty) |
@@ -80,7 +80,7 @@ Payload records live in `core` under
| Gradient strokes | ✅ `PdfPathPainter` (pattern stroking colour) | ✅ `PptxGradientFill` (native `ln`/`gradFill`) | ❌ |
| Image — STRETCH / CONTAIN / COVER fit (`ImageFragmentPayload`) | ✅ `PdfImageFragmentRenderHandler` | ✅ `PptxImageFragmentRenderHandler` (COVER via the picture source crop) | ✅ `DocxSemanticBackend.writeImage` (the box comes from `NodeDefinitionSupport.resolveImageDimensions`, the same rule layout applies to `width` / `height` / `scale` and the content-width clamp; CONTAIN is embedded at its fitted size, COVER via the picture source crop as in PPTX, and the picture type is read from the bytes; its left margin and padding are not written, and a picture drawn beside its text is fitted to its box with its padding in it — each named in the report) |
| Barcode / QR (`BarcodeFragmentPayload`) | ✅ `PdfBarcodeFragmentRenderHandler` (vector: the ZXing bit matrix filled as merged rectangles) | ✅ `PptxBarcodeFragmentRenderHandler` (native freeforms: the same ZXing bit matrix as merged rectangles) | ⚠️ `DocxSemanticBackend.writeBarcode` (a PNG picture of the same ZXing bit matrix through `BarcodeMatrices`, one pixel a cell, in the symbol's two colours with their alpha and at the node's size, its data as the picture's description; it scans, but its data is part of the picture rather than editable, reported `APPROXIMATED`, which also names a link, a transform or its left margin and padding as not carried; an `anchor` is a bookmark on its paragraph; in a page zone it is skipped) |
-| Table rows — resolved cells, row/col spans, two-pass fill/border paint (`TableRowFragmentPayload`) | ✅ `PdfTableRowFragmentRenderHandler` + row grouping in `PdfFixedLayoutBackend` | ✅ `PptxTableRowFragmentRenderHandler` + row grouping in `PptxFixedLayoutBackend` (positioned rectangles, edge lines, and text frames — never native PPTX tables, which re-lay-out content) | ⚠️ `DocxSemanticBackend.writeTable` (a real Word table on the grid `TableGrid` resolves: `colSpan` maps to `w:gridSpan`, `rowSpan` to `w:vMerge`, and the cascaded `DocumentTableStyle` text style reaches the cell's runs; the cell's fill maps to `w:shd` and its stroke to `w:tcBorders` — the engine's default 1pt black rule where the table states none, not Word's thinner grid — its padding to `w:tcMar`, less above and below the room Word makes for the horizontal rules (half of a rule between two rows, the lower row's, to each; the rules above and below the table whole to their row); a row's cells at the row's smallest top and bottom margins, since both editors give every cell the row's largest, the rest of each cell's padding as space above its first paragraph and below its last, down to the largest margin a cell opening with a table or in a vertical merge keeps; the cascaded `textAnchor` maps to `w:vAlign` on every cell and to `w:jc` on a text cell's paragraph, with the engine's default — the vertical middle, on the left, or on the right for a right-to-left cell — and `DEFAULT` at the bottom left, as the renderer draws it; a composed cell is written by the same writers that write its node anywhere, so one built from an image, a list or a table carries it — a nested table is a real `w:tbl` taking the width of the column it sits in, less its own margins and padding, which is the column's rather than the one the page gives it, since the layout reports a composed cell's content under the owner's path; the paragraph Word requires after a nested table is hidden where it ends its cell holding nothing and no space; a translucent fill is flattened against the colour the page paints under the cell, and a translucent rule against the cell's fill where it has one, since `w:shd` and `w:tcBorders` are opaque, and the table's report note names it (`translucency`); Word re-paginates, so the export states where the layout breaks: every row the layout placed is `w:cantSplit`, `repeatHeader(n)` rows are `w:tblHeader` and keep with the row under them, and a row of blocks is kept whole the same way; the paragraph Word requires after a document's closing table is an ordinary one where the last page has room for two lines below it, so a reader can type below the table, and otherwise a point tall with its mark hidden, so it opens no blank page, reported `APPROXIMATED` since text typed at the end then goes into the table's last cell) |
+| Table rows — resolved cells, row/col spans, two-pass fill/border paint (`TableRowFragmentPayload`) | ✅ `PdfTableRowFragmentRenderHandler` + row grouping in `PdfFixedLayoutBackend` | ✅ `PptxTableRowFragmentRenderHandler` + row grouping in `PptxFixedLayoutBackend` (positioned rectangles, edge lines, and text frames — never native PPTX tables, which re-lay-out content) | ⚠️ `DocxSemanticBackend.writeTable` (a real Word table on the grid `TableGrid` resolves: `colSpan` maps to `w:gridSpan`, `rowSpan` to `w:vMerge`, and the cascaded `DocumentTableStyle` text style reaches the cell's runs; the cell's fill maps to `w:shd` and its stroke to `w:tcBorders` — the engine's default 1pt black rule where the table states none, not Word's thinner grid — its padding to `w:tcMar`, less above and below the room Word makes for the horizontal rules (half of a rule between two rows, the lower row's, to each; the rules above and below the table whole to their row), each as wide as Word draws it, in eighths of a point (a rule between two rows halved to the twip, an odd one a twip short); a row of text cells moved by its top and bottom margins together, from Word's seat four fifths of the way down an exact line onto the page's baselines, by the least its cells' lines call for and no further than the margins hold — not a row holding a composed cell, one the layout did not measure, one in a vertical merge or whose cells call for opposite ways, nor a least call under a tenth of a point — and what the margins leave of a cell's call, half a point and more, moved by its text's position; a row's cells at the row's smallest top and bottom margins, since both editors give every cell the row's largest, the rest of each cell's padding as space above its first paragraph and below its last, down to the largest margin a cell opening with a table or in a vertical merge keeps; the cascaded `textAnchor` maps to `w:vAlign` on every cell and to `w:jc` on a text cell's paragraph, with the engine's default — the vertical middle, on the left, or on the right for a right-to-left cell — and `DEFAULT` at the bottom left, as the renderer draws it; a composed cell is written by the same writers that write its node anywhere, so one built from an image, a list or a table carries it — a nested table is a real `w:tbl` taking the width of the column it sits in, less its own margins and padding, which is the column's rather than the one the page gives it, since the layout reports a composed cell's content under the owner's path; the paragraph Word requires after a nested table is hidden where it ends its cell holding nothing and no space; a translucent fill is flattened against the colour the page paints under the cell, and a translucent rule against the cell's fill where it has one, since `w:shd` and `w:tcBorders` are opaque, and the table's report note names it (`translucency`); Word re-paginates, so the export states where the layout breaks: every row the layout placed is `w:cantSplit`, `repeatHeader(n)` rows are `w:tblHeader` and keep with the row under them, and a row of blocks is kept whole the same way; the paragraph Word requires after a document's closing table is an ordinary one where the last page has room for two lines below it, so a reader can type below the table, and otherwise a point tall with its mark hidden, so it opens no blank page, reported `APPROXIMATED` since text typed at the end then goes into the table's last cell) |
| Clip region open/close (`ShapeClipBegin/EndPayload`) | ✅ `PdfShapeClipBegin/EndRenderHandler` (CLIP_BOUNDS + CLIP_PATH) | ✅ `PptxClipSafety` + raster fallback in `PptxFixedLayoutBackend` — a provably no-op clip (padded content that cannot be cut) skips the fallback entirely and stays native, editable shapes; a clip that can cut ink renders through the PDF backend into one transparent picture on the clip bounds (pixel-exact, not editable as shapes; run-level link hotspots are not emitted and custom fragment handlers do not apply inside the picture; `Builder.clipRasterFallback(false)` restores unclipped vectors + warning; the raster targets a 2048px long edge, clamped to between native size and 4x, so a region larger than that is rendered at native resolution rather than downscaled — which also means its transient memory grows with the clip instead of stopping at the target (a 3370pt A0-landscape region costs ~45MB while rendering, against ~17MB for anything up to 2048pt); a true vector clip is tracked in [#413](https://github.com/DemchaAV/GraphCompose/issues/413)) | ⚠️ inline fallback + one-time capability warning; the report names a clip that cuts what its layers paint, measured from the layout's fragments by `DocxClipInk` — a clip that cuts nothing (an icon inside its box, a disc's initials, a photo filling its circle) is not named; a picture that fills a container clipped to an ellipse takes the ellipse as its geometry, which both editors crop it to; a badge's glyph — a smaller picture in a painted container that clips it to its outline (`CLIP_PATH`) and holds nothing else but drawing — is drawn by `DocxDrawings` as a floating picture over the outline, where the layout places it, reported `APPROXIMATED` — inside a filled panel the badge and its glyph are drawn in front of the shading; an icon picture beside its text in an unpainted container or a layer stack is drawn the same way; a filled or outlined rectangle or rounded rectangle holding text, composed in a table cell, which has no place in the layout to be drawn at, is written as a panel — a one-cell table in its fill and outline, its corners squared and reported, its row held at least the outline's height less its borders and margins, which keep inside it, and a one-line label the shape centres top to bottom on a line taller than the room Word leaves its content cut alike on both sides to that room, no closer to its letters than three quarters of a point, and seated where the page sets it; the rest of what a composed cell draws (an icon, a tile, a disc) is the table's own drawing and is drawn by `drawCellDrawing` where the layout puts it, anchored as a rectangle is |
| Timeline rail — one logical connector line resolved from marker and entry anchors after layout (`ShapeFragmentPayload` per page) | ✅ `PdfShapeFragmentRenderHandler` — one fragment per page, spliced beneath the markers | ✅ `PptxShapeFragmentRenderHandler` — same payload, same per-page fragments | ⚠️ `DocxDrawings` — the rail is read from the resolved layout's pass fragments and drawn per page as a `line` shape, and the markers as the shapes they are, anchored as a rectangle is: beside an entry's text they move with it when the text above is edited |
| Transform open/close — rotate/scale about fragment centre (`TransformBegin/EndPayload`) | ✅ `PdfTransformBegin/EndRenderHandler` | ✅ `PptxTransformBegin/EndRenderHandler` (group shape; rotation and centre-pivot scaling via the exterior/interior frame ratio) | ⚠️ inline fallback + one-time capability warning; a turned shape container is written upright, and the report names its transform — in its drawn outline's note, or on its own where the outline draws nothing |
diff --git a/docs/recipes/docx-export.md b/docs/recipes/docx-export.md
index 889c37d69..eec09fce5 100644
--- a/docs/recipes/docx-export.md
+++ b/docs/recipes/docx-export.md
@@ -69,7 +69,7 @@ creation date is real metadata.
|---|---|
| Paragraphs | Word paragraphs with alignment, font, size, colour (a translucent one with its transparency, as Word's text fill — see "Translucent colours"), bold/italic/underline; inline runs preserved; a `\n` in the text is a line break (`w:br`), which Word would otherwise read as a space; a table cell's `text("a\nb")` stays one line, as the page sets it; a `bulletOffset` of spaces is an indent — the wrapped lines (`FROM_SECOND_LINE`), the first (`FIRST_LINE`) or all of them start that far in, measured in the paragraph's style as the page measures it; a prefix with letters in it is not written, but the wrapped lines still start after the spaces the page covers it with; no prefix is applied to a paragraph written over the flow, as one of an overlay's left-and-right pair, as a badge's initials, or in a header or footer; the report names a prefix's letters, and the room a prefix sets lines in by where a path that writes none leaves it out and it moves a line — on the paragraph, or in a header or footer on the zone's note. A session reads markdown unless told not to (`markdown(false)`): it sets a paragraph of plain text's emphasis marks as the style of the text they mark, a heading line bold (the first three levels larger), and drops its marks; the export writes the text as the page sets it — read line by line through the page's own parser, one run a piece in the face, family, colour, tracking and size the page sets it in, `**Java**` a bold run reading `Java`, a linked paragraph's pieces in one link, Word's outline listing a heading by the text written — wherever it writes a paragraph, a page zone's and a badge's included (a badge's initials counted as the page sets them, and written in the flow where they stand in two faces or as a heading, as initials in two runs' faces are). The page's laid-out lines decide it: the pieces are written where those lines hold their letters in their faces, families, colours and tracking, at their sizes — an auto-sized paragraph's read at the size the page fits it to, a heading at its multiple of it; a session that reads no markdown has its marks written as they stand, and text the parser changes nothing of, an underscore inside a word, is written as it stands too. A paragraph composed in a table cell takes only lines that set its pieces so. The page sets a markdown heading in a line as tall as the paragraph's own and draws its letters past it; written in that exact line, Word cuts their tops on screen, and the report names a heading written taller than its line. The faces are the page's: where the session reads markdown its parser sets every piece in a face of its own, the paragraph's left aside, so a bold paragraph's `Senior_Engineer` is written regular, as the page sets it. A paragraph whose lines are not read — with no layout, composed in a table cell whose text, as authored or as the page reads it, no line of its table carries, or a page zone's the layout shows none of — or that the page sets in other letters than its text, as Arabic, which the page shapes before it reads the marks, or that the parser reads into nothing — a lone `*`, an empty list item; `***`, a rule; a line set four spaces in, a block of code — which the page sets as nothing, is written as authored, marks and all, and the report names it, saying where the lines are not read that whether the page reads its marks is not measured, where the page's parser drops one. An auto-sized paragraph (`autoSize`) is written at the size the page fits its text to, read off the layout's lines, on every path that writes a paragraph: a run with a style of its own keeps it, as on the page, and a prefix is measured at the fitted size. Where the lines do not tell it — none are read, they are in sizes that do not say which is the paragraph's, or the paragraph is added at more than one place, which the page fits at each apart — the text is written at its style's size, and the report says the fitted size is not measured, on the paragraph or, in a header or footer, on the zone's note. LibreOffice breaks a badge's initials wider than the square inscribed in its disc, at any size, and hides what wraps; an auto-sized badge, which fills its disc, meets this too. A body paragraph the layout moves to a new page keeps the space the layout leaves above its text there — its own top edge, the edges of the containers opening with it, and the gap before it where the gap did not fit at the foot of the page above — as an empty line that tall before it, kept with it, since Word drops a paragraph's space above at the top of a page and keeps a line's height; the rest of the space owed stays above that line, so Word breaks the page where it did, and the gap between the paragraph's lines comes off the line as it would off its space above. A paragraph in a table cell, an overlay or a list is left to its container |
| Lists | Real Word lists: a `numbering.xml` definition per list, `w:numPr` on each item, and the authored marker as the level's text. Nesting is a list level, so Enter continues the list and Tab demotes an item. An item the page reads as markdown is written as the page sets it, as a paragraph is. See "What a list becomes" below for the kinds that stay plain paragraphs |
-| Tables | Word tables, one cell per cell. Each cell states its own padding, on all four sides, so a row is as tall as the page draws it: as `w:tcMar`, and above and below partly in its paragraphs. Word and LibreOffice give every cell of a row the largest top and bottom margin of any cell in it, so a row's cells are written with its smallest, and the rest of a cell's padding above and below is space above its first paragraph and below its last (measured: a row whose day cells were padded 5.5pt above and 10.25pt below beside a label padded 0.75pt stood 60.3pt tall in both editors, where its tallest cell came to 46). A cell opening with a table has no paragraph above it to hold its padding, and a cell in a vertical merge has its bottom edge in another row: these keep their margins, and the row's comes down no lower than the largest of them. Its padding above and below gives up the room Word makes for the table's horizontal rules — half of a rule between two rows to each, the lower row's rule where the two differ, the rule above the table and the one below it whole to their row — which the page does not (measured: a 0.75pt rule made each row 0.75pt taller). A row held at the page's height is written less its margins and those rules too — a rule and a half in the first row and the last, two in a table of one row — since both editors read a row's written height as its cells' content (measured: held less one rule, a table ruled at 0.75pt stood 0.46pt taller in its first row and 0.36pt in its last). A cell that holds nothing but an empty line — a row that is only a rule, its thickness the empty cell's font — has that line cut to the room its row leaves it, the page's row less the cell's own margins and border: the page draws the rule's borders across the line, and Word and LibreOffice keep them outside it and grow the row (measured: `CobaltRota`'s two rules under a 0.9pt border stood 0.9pt taller each). A line with letters, a picture or a paragraph border of its own keeps its height. A table that states no rule is written with the engine's default 1pt black rule, as the page draws it, not left on Word's thinner grid. Its `textAnchor` becomes `w:vAlign` and the paragraph's `w:jc`, with the engine's default — the vertical middle, on the left — where Word's is the top, so a line beside a taller neighbour sits where the page puts it and an amount column stays right-aligned. A cell with no style of its own is set in the engine's default cell face rather than the document's Normal. A cell's lines are one paragraph with line breaks; when its style's `lineSpacing(...)` is above zero and it has more than one line, they are a paragraph each, with the spacing after every line but the last, since Word has no space between the lines of one paragraph but a taller line. A column sized to its content gets a point more than the page gives it, so the editor's font substitute cannot wrap its widest cell. The width is written when the document states one or every column is fixed; otherwise Word sizes the table — see "What falls back". A table breaks across pages where the layout breaks it: every row the layout placed is kept whole (`w:cantSplit`), `repeatHeader(n)` rows repeat on each page (`w:tblHeader`) and stay with the row under them. Two tables in a row — rows included, since a row is carried as a table — are kept apart by a paragraph a tenth of a point tall, holding the rest of the gap between them: an editor joins two tables with nothing between them into one. A table or a row the layout moves to a new page keeps its own top edge there, as the page does — written as a line that tall, kept with it, since Word drops a paragraph's space above at the top of a page — while the gap between it and the block before stays at the foot of the page above, where it fits there; a gap the layout carries onto the new page, because it did not fit at the foot of the page above, is not yet held above a table (body paragraphs and spacers: see their rows). A table's margin is its indent and the space round it, and its padding on the sides holds its rows in as the page draws them: its left side is in the indent too, and both are out of the room its columns are given |
+| Tables | Word tables, one cell per cell. Each cell states its own padding, on all four sides, so a row is as tall as the page draws it: as `w:tcMar`, and above and below partly in its paragraphs. Word and LibreOffice give every cell of a row the largest top and bottom margin of any cell in it, so a row's cells are written with its smallest, and the rest of a cell's padding above and below is space above its first paragraph and below its last (measured: a row whose day cells were padded 5.5pt above and 10.25pt below beside a label padded 0.75pt stood 60.3pt tall in both editors, where its tallest cell came to 46). A cell opening with a table has no paragraph above it to hold its padding, and a cell in a vertical merge has its bottom edge in another row: these keep their margins, and the row's comes down no lower than the largest of them. Its padding above and below gives up the room Word makes for the table's horizontal rules — half of a rule between two rows to each, the lower row's rule where the two differ, the rule above the table and the one below it whole to their row — which the page does not (measured: a 0.75pt rule made each row 0.75pt taller). Each rule comes off as wide as Word draws it, in eighths of a point: a 0.7pt hairline is drawn 0.75pt wide (measured: taken off at 0.7, `EditorialProposal`'s tables and all under them stood a step of Word's grid lower). A cell's rule is written from two to ninety-six eighths of a point, the range of a line border's width. A rule between two rows is halved, each half rounded to the twip with the margin it comes off, so an odd one comes off a twip short and its rows stand a twip taller each (measured: `NorthlineProposal`'s investment table, ruled at 0.7pt, a twentieth of a point lower every row). A row held at the page's height is written less its margins and those rules too — a rule and a half in the first row and the last, two in a table of one row — since both editors read a row's written height as its cells' content (measured: held less one rule, a table ruled at 0.75pt stood 0.46pt taller in its first row and 0.36pt in its last). A cell that holds nothing but an empty line — a row that is only a rule, its thickness the empty cell's font — has that line cut to the room its row leaves it, the page's row less the cell's own margins and border: the page draws the rule's borders across the line, and Word and LibreOffice keep them outside it and grow the row (measured: `CobaltRota`'s two rules under a 0.9pt border stood 0.9pt taller each). A line with letters, a picture or a paragraph border of its own keeps its height. A table that states no rule is written with the engine's default 1pt black rule, as the page draws it, not left on Word's thinner grid. Its `textAnchor` becomes `w:vAlign` and the paragraph's `w:jc`, with the engine's default — the vertical middle, on the left — where Word's is the top, so a line beside a taller neighbour sits where the page puts it and an amount column stays right-aligned. A row of text cells is moved by its margins to stand its text where the page sets it: the page sets a cell's line its face's ascent below the line's top, Word an exact line's baseline four fifths of the way down it, so every cell's top margin is made smaller and its bottom one as much larger — or the other way — by the least any of its cells calls for, no further than the margin holds, and each cell's text moves with its room, set at the top, the middle or the bottom, while the row keeps its height (measured: a line of 8pt Poppins stood 0.58pt low in Word and 0.55pt in LibreOffice, of Lato 0.24 and 0.25pt high; moved, within 0.04pt and 0.09pt). Not a row holding a composed cell, whose paragraphs their own writers seat where they can, nor a row the layout did not measure, nor one in a vertical merge or whose cells call for opposite ways; a least call under a tenth of a point is left. What the margins leave of a cell's call is moved by its text's position where that is half a point or more, as a paragraph's is: LibreOffice moves raised text further than it is raised, by up to half as much again, which from half a point up is less than what is left. LibreOffice sets a vertically centred cell's content as if its first paragraph had no space above it, so a cell padded more above than its row's smallest stands its text up to half that difference higher there (measured: 3pt above it stood the line 1.5pt high). A cell with no style of its own is set in the engine's default cell face rather than the document's Normal. A cell's lines are one paragraph with line breaks; when its style's `lineSpacing(...)` is above zero and it has more than one line, they are a paragraph each, with the spacing after every line but the last, since Word has no space between the lines of one paragraph but a taller line. A column sized to its content gets a point more than the page gives it, so the editor's font substitute cannot wrap its widest cell. The width is written when the document states one or every column is fixed; otherwise Word sizes the table — see "What falls back". A table breaks across pages where the layout breaks it: every row the layout placed is kept whole (`w:cantSplit`), `repeatHeader(n)` rows repeat on each page (`w:tblHeader`) and stay with the row under them. Two tables in a row — rows included, since a row is carried as a table — are kept apart by a paragraph a tenth of a point tall, holding the rest of the gap between them: an editor joins two tables with nothing between them into one. A table or a row the layout moves to a new page keeps its own top edge there, as the page does — written as a line that tall, kept with it, since Word drops a paragraph's space above at the top of a page — while the gap between it and the block before stays at the foot of the page above, where it fits there; a gap the layout carries onto the new page, because it did not fit at the foot of the page above, is not yet held above a table (body paragraphs and spacers: see their rows). A table's margin is its indent and the space round it, and its padding on the sides holds its rows in as the page draws them: its left side is in the indent too, and both are out of the room its columns are given |
| Composed cells (`DocumentTableCell.node(...)`) | Written by the same writers that write that node anywhere else, so a cell built from an image, a list or a table carries it. A nested table is a real `w:tbl` followed by the paragraph Word requires a cell to end with — a hairline, which the paragraph written next in the cell takes over, so no empty line opens under the table, and whose mark is hidden where it is left at the cell's end holding nothing and no space, since LibreOffice lays it out — and takes the width of the column it sits in, less its own margins and padding — the column's, not the one the page gives it, because the layout reports a composed cell's content under the owner's path |
| Inline chips (`inlineCode(...)`, `inlineChip(...)`, `highlight(...)`) | The chip's fill becomes the run's own `w:shd`, in a paragraph and in a list item alike. Its shape does not travel — see "What a chip keeps and loses" below |
| Images | Embedded pictures at the node's declared size. In the flow, the margin and padding above and below are the space round the picture's paragraph; on the left they are not written, and the report names them, as it does a barcode's and a page reference's sides. A picture drawn beside its text is fitted to its box with its padding in it, which the report names too |
@@ -185,7 +185,7 @@ it cannot work out for itself:
| What | Where it lands |
|---|---|
-| Line height | `w:spacing w:lineRule="exact"` on every paragraph, cells and list items included — the height the engine measured, not a multiple Word would measure again against a substituted font. Word has one height for a paragraph's lines: it is the tallest line's text, or, where the page sets lines of different heights further apart than that, the page's mean distance between their baselines, with what a paragraph on one page then falls short of the page owed below it, and what it passes the page by — written at its tallest line, a wrapped line after a large first one, which the page sets at its own height — hung below it, as a line held to its icon is: the space below takes it, and what it cannot take is named (`space above`) (not yet a list item's, or text set over the flow; measured: `CompactMono`'s sidebar, whose skills are two lines a paragraph and each written 0.12pt taller than the page, ended a point low in Word). Lines rounded up to the twip, over enough of them, hang the same way; what rounding takes from a paragraph written at its tallest line is not owed (measured: owed, it stood `ModernInvoice`'s lines lower in Word). A tenth of a point or less is left either way: Word sets lines on a grid of its own, 0.12pt apart (measured). In a paragraph of more than one line on one page, the spaces a `bulletOffset` sets before a line, written as an indent, do not count towards that line's text. A paragraph of lines as tall as their text, on one page, opening a table cell takes the gap above its first line from the cell's top padding, no more than steps its lines the page's distance apart — not in a row beside a merged cell or a cell opening with a table, whose margin Word would set the whole row at, nor in a panel. One with no room above it for the gap (opening a column, or a cell padded less) shares the gaps out over all its lines, so its lines stand a little closer than on the page. A paragraph the layout did not measure — one in a composed table cell — is left to the editor, and a line holding a picture above its text is written "at least" that height — except a paragraph of one line of text with room above for its pictures' reach, held exact at the page's height (see "Inline pictures"); in both the paragraph mark is set in the text's size and face, since the mark counts towards the last line's height. A line holding pictures and no text, where they fill the page's line, has its mark and its pictures' runs set at a point instead, so Word makes the line as tall as the pictures and no taller: in the paragraph's own size the mark's depth went under the picture (measured: `SlateOrange`'s skills, a 12.4pt icon beside each label, stood 0.2pt taller each in Word). A smaller picture in a line the page sets at its font's height keeps its mark, and so does a line holding a letter, a break, a tab, a field or a link's text. A paragraph's own line of drawn shapes and no text written at least their reach, which Word grows to the pictures and the transparent frame each keeps around its ink, has that frame taken from the space above the line and above what follows, where it passes the height written: the ink stands where the page draws it, and what follows where the page sets it. Both editors stand the baseline of an exact line four fifths of the way down it whatever the face (measured in Word and LibreOffice on the fifteen faces the templates use and JetBrains Mono, 8 to 36pt), and the page sets it the face's ascent below the line's top, matched at a paragraph's middle line. A line Word sets lower than the page by a tenth of a point or more is moved up into the space written above it, written to the twip, and that space is owed below it, so what follows stays where it was; both editors keep a paragraph's space above as written (by its position alone, Helvetica's lines, which the page seats 0.78 of the way down, stood 0.12 to 0.38pt low in Word). A column's later layer, which measures the space to itself from the page, takes back the raise of the line above it. Not a line pair's shared line, which moved would move its other half; not a line in an overlay — a band, a layer stack, a shape container, a canvas, a text box — whose writers measure what follows them from the page; not a line cut to fit, a container's stacked lines or one held to its pictures; not a paragraph the layout moves to a new page, whose space above Word drops there, or breaks over one; and not into the space above a panel's first line that its top border takes. What that space cannot give, and a line Word sets higher than the page — moved down, it would take its room out of the space below it, not known when it is written — is raised or lowered to the page's baseline by `w:position` where the whole difference is half a point or more, a face with a deep descent, as Spectral's is. A list item's and a table text cell's lines are not seated yet. LibreOffice moves text by `w:position` further than it is raised, by the face's height over its em — Spectral's 1.53 times, Poppins' 1.49, Volkhov's 1.31 (measured) — so a line raised by its position stands where the page sets it in Word only: Spectral's 24pt line, raised 4pt, stood 2.4pt high in LibreOffice. A picture among such text moves with it in Word; LibreOffice keeps a picture on its own baseline, where it stood before. Lines a container stacks tighter than their face — a title's lines a pitch apart — each end halfway between their letters and the next line's, since Word draws an exact line's text on screen only inside the line, and the last layer of a shape container, where its line runs past the foot, ends at the foot or below its letters |
+| Line height | `w:spacing w:lineRule="exact"` on every paragraph, cells and list items included — the height the engine measured, not a multiple Word would measure again against a substituted font. Word has one height for a paragraph's lines: it is the tallest line's text, or, where the page sets lines of different heights further apart than that, the page's mean distance between their baselines, with what a paragraph on one page then falls short of the page owed below it, and what it passes the page by — written at its tallest line, a wrapped line after a large first one, which the page sets at its own height — hung below it, as a line held to its icon is: the space below takes it, and what it cannot take is named (`space above`) (not yet a list item's, or text set over the flow; measured: `CompactMono`'s sidebar, whose skills are two lines a paragraph and each written 0.12pt taller than the page, ended a point low in Word). Lines rounded up to the twip, over enough of them, hang the same way; what rounding takes from a paragraph written at its tallest line is owed below it as well (measured: `ModernInvoice`'s address blocks, six lines of 11.475pt written at 11.45, stood the table under them 0.15pt high in Word and LibreOffice). A tenth of a point or less is left either way: Word sets lines on a grid of its own, 0.12pt apart (measured). In a paragraph of more than one line on one page, the spaces a `bulletOffset` sets before a line, written as an indent, do not count towards that line's text. A paragraph of lines as tall as their text, on one page, opening a table cell takes the gap above its first line from the cell's top padding, no more than steps its lines the page's distance apart — not in a row beside a merged cell or a cell opening with a table, whose margin Word would set the whole row at, nor in a panel. One with no room above it for the gap (opening a column, or a cell padded less) shares the gaps out over all its lines, so its lines stand a little closer than on the page. A paragraph the layout did not measure — one in a composed table cell — is left to the editor, and a line holding a picture above its text is written "at least" that height — except a paragraph of one line of text with room above for its pictures' reach, held exact at the page's height (see "Inline pictures"); in both the paragraph mark is set in the text's size and face, since the mark counts towards the last line's height. A line holding pictures and no text, where they fill the page's line, has its mark and its pictures' runs set at a point instead, so Word makes the line as tall as the pictures and no taller: in the paragraph's own size the mark's depth went under the picture (measured: `SlateOrange`'s skills, a 12.4pt icon beside each label, stood 0.2pt taller each in Word). A smaller picture in a line the page sets at its font's height keeps its mark, and so does a line holding a letter, a break, a tab, a field or a link's text. A paragraph's own line of drawn shapes and no text written at least their reach, which Word grows to the pictures and the transparent frame each keeps around its ink, has that frame taken from the space above the line and above what follows, where it passes the height written: the ink stands where the page draws it, and what follows where the page sets it. Both editors stand the baseline of an exact line four fifths of the way down it whatever the face (measured in Word and LibreOffice on the fifteen faces the templates use and JetBrains Mono, 8 to 36pt), and the page sets it the face's ascent below the line's top, matched at a paragraph's middle line. A line Word sets lower than the page by a tenth of a point or more is moved up into the space written above it, written to the twip, and that space is owed below it, so what follows stays where it was; both editors keep a paragraph's space above as written (by its position alone, Helvetica's lines, which the page seats 0.78 of the way down, stood 0.12 to 0.38pt low in Word). A column's later layer, which measures the space to itself from the page, takes back the raise of the line above it. Not a line pair's shared line, which moved would move its other half; not a line in an overlay — a band, a layer stack, a shape container, a canvas, a text box — whose writers measure what follows them from the page; not a line cut to fit, a container's stacked lines or one held to its pictures; not a paragraph the layout moves to a new page, whose space above Word drops there, or breaks over one; and not into the space above a panel's first line that its top border takes. What that space cannot give, and a line Word sets higher than the page — moved down, it would take its room out of the space below it, not known when it is written — is raised or lowered to the page's baseline by `w:position` where the whole difference is half a point or more, a face with a deep descent, as Spectral's is. A list item's lines are not seated yet; a table text cell's are seated by its row's margins where its row allows (see "Tables"). LibreOffice moves text by `w:position` further than it is raised, by the face's height over its em — Spectral's 1.53 times, Poppins' 1.49, Volkhov's 1.31 (measured) — so a line raised by its position stands where the page sets it in Word only: Spectral's 24pt line, raised 4pt, stood 2.4pt high in LibreOffice. A picture among such text moves with it in Word; LibreOffice keeps a picture on its own baseline, where it stood before. Lines a container stacks tighter than their face — a title's lines a pitch apart — each end halfway between their letters and the next line's, since Word draws an exact line's text on screen only inside the line, and the last layer of a shape container, where its line runs past the foot, ends at the foot or below its letters |
| Table columns | the resolved cell widths as `w:gridCol`, with `w:tblLayout` fixed so Word does not re-fit them |
| Row columns | where the layout placed each child, with the row's gap and padding folded into the neighbouring column and taken back out as that cell's margin — in a painted row's panel the padding is the panel cell's margins instead, and the columns are without it. A column sized to its content (`DocumentRowColumn.auto()`) gets a point more, taken from the row's weight columns so the row keeps its width, for the reason a table's does: the editor's substitute font would wrap it — a table of contents' labels broke mid-word ("Intr" / "o") in LibreOffice without it. A row with no auto column, no weight column, or no stated columns (weights, an even split) is written as placed |
diff --git a/qa/src/test/resources/docx-fidelity/libreoffice-windows-lines.tsv b/qa/src/test/resources/docx-fidelity/libreoffice-windows-lines.tsv
index 6c71bb5f5..32a6a1690 100644
--- a/qa/src/test/resources/docx-fidelity/libreoffice-windows-lines.tsv
+++ b/qa/src/test/resources/docx-fidelity/libreoffice-windows-lines.tsv
@@ -1,4 +1,4 @@
-# libreoffice build bce0998afefd on windows — document, line, drift below the page (pt), drift right of the page (pt), letters
+# libreoffice build bf6ef2662401 on windows — document, line, drift below the page (pt), drift right of the page (pt), letters
cv-blue_banner 0:8f1010120ed6 0.02 1.95 jordanrivera
cv-blue_banner 0:8d7a2cca3060 -0.20 0.24 +442055551000|jordan.rivera@exam
cv-blue_banner 0:b944906ed84c -0.20 -0.38 professionalsummary
@@ -369,38 +369,38 @@ cv-editorial_blue 0:80cc87fdc4c4 -0.22 0.10 platformengineerwith10+yearsbuil
cv-editorial_blue 0:c323ef4c385f -0.22 0.10 systems.specialisedinhigh-throug
cv-editorial_blue 0:3ff1933dba9a -0.21 0.10 typed,snapshot-testedlibrariesth
cv-editorial_blue 0:32c1cf49a2fe -0.06 0.10 skills
-cv-editorial_blue 0:8447174c8fff 0.09 -0.15 •java21
-cv-editorial_blue 0:4797e5b5555b 0.09 -0.17 •kotlin
-cv-editorial_blue 0:44408890ac29 0.09 -0.14 •groovy
-cv-editorial_blue 0:9b676a2ec3c3 0.09 -0.16 •python
-cv-editorial_blue 0:c96e7be4e2bd 0.09 -0.15 •sql
-cv-editorial_blue 0:5bf26a4a07e7 0.09 -0.17 •pdfbox
-cv-editorial_blue 0:60bb71068aa6 0.09 -0.14 •apachepoi(docx/xlsx)
-cv-editorial_blue 0:8af129f35b4a 0.09 -0.16 •itext
-cv-editorial_blue 0:af16271643f5 0.08 -0.15 •postscript
-cv-editorial_blue 0:52014e35429b 0.08 -0.17 •icccolourprofiles
-cv-editorial_blue 0:5cc4da0e31ab 0.08 -0.14 •fontmetrics
-cv-editorial_blue 0:ffd06dc07d03 0.08 -0.16 •customdsldesign
-cv-editorial_blue 0:b3307292a943 0.08 -0.15 •semanticlayouttrees
-cv-editorial_blue 0:6a0bf046882f 0.08 -0.17 •pagination
-cv-editorial_blue 0:8d5738dcdcbd 0.08 -0.14 •snapshottesting
-cv-editorial_blue 0:8f39f0146d0e 0.08 -0.16 •visualregression
-cv-editorial_blue 0:a26a92311896 0.07 -0.15 •maven
-cv-editorial_blue 0:d1002e9575f5 0.07 -0.17 •gradle
-cv-editorial_blue 0:e7b0f50a3bf3 0.07 -0.14 •githubactions
-cv-editorial_blue 0:193e87ad43b7 0.07 -0.16 •jitpack
-cv-editorial_blue 0:193e87ad43b7#1 0.06 -0.14 •jitpack
-cv-editorial_blue 0:62e29bf5f417 0.07 -0.15 •docker
-cv-editorial_blue 0:83844532ef02 0.07 -0.17 •jmhbenchmarking
-cv-editorial_blue 0:8a7a4807b03b 0.07 -0.14 •junit5
-cv-editorial_blue 0:40aaef8fe2a9 0.07 -0.16 •assertj
-cv-editorial_blue 0:a736ceace0f5 0.06 -0.15 •pdfbox-basedpngdiff
-cv-editorial_blue 0:9a38eea08d15 0.06 -0.17 •layout-graphsnapshots
-cv-editorial_blue 0:0d50de959d19 0.06 -0.14 •mutationtesting(pitest)
-cv-editorial_blue 0:7ea255c76189 0.06 -0.16 •mavencentral
-cv-editorial_blue 0:4e484fca00bb 0.06 -0.15 •sonatypeossrh
-cv-editorial_blue 0:feaf5883619f 0.06 -0.17 •gpgsigning
-cv-editorial_blue 0:11f34b7449a4 0.06 -0.16 •semanticversioningdiscipline
+cv-editorial_blue 0:8447174c8fff -0.11 -0.15 •java21
+cv-editorial_blue 0:4797e5b5555b -0.11 -0.17 •kotlin
+cv-editorial_blue 0:44408890ac29 -0.11 -0.14 •groovy
+cv-editorial_blue 0:9b676a2ec3c3 -0.11 -0.16 •python
+cv-editorial_blue 0:c96e7be4e2bd -0.11 -0.15 •sql
+cv-editorial_blue 0:5bf26a4a07e7 -0.11 -0.17 •pdfbox
+cv-editorial_blue 0:60bb71068aa6 -0.11 -0.14 •apachepoi(docx/xlsx)
+cv-editorial_blue 0:8af129f35b4a -0.11 -0.16 •itext
+cv-editorial_blue 0:af16271643f5 -0.12 -0.15 •postscript
+cv-editorial_blue 0:52014e35429b -0.12 -0.17 •icccolourprofiles
+cv-editorial_blue 0:5cc4da0e31ab -0.12 -0.14 •fontmetrics
+cv-editorial_blue 0:ffd06dc07d03 -0.12 -0.16 •customdsldesign
+cv-editorial_blue 0:b3307292a943 -0.12 -0.15 •semanticlayouttrees
+cv-editorial_blue 0:6a0bf046882f -0.12 -0.17 •pagination
+cv-editorial_blue 0:8d5738dcdcbd -0.12 -0.14 •snapshottesting
+cv-editorial_blue 0:8f39f0146d0e -0.12 -0.16 •visualregression
+cv-editorial_blue 0:a26a92311896 -0.13 -0.15 •maven
+cv-editorial_blue 0:d1002e9575f5 -0.13 -0.17 •gradle
+cv-editorial_blue 0:e7b0f50a3bf3 -0.13 -0.14 •githubactions
+cv-editorial_blue 0:193e87ad43b7 -0.13 -0.16 •jitpack
+cv-editorial_blue 0:193e87ad43b7#1 -0.14 -0.14 •jitpack
+cv-editorial_blue 0:62e29bf5f417 -0.13 -0.15 •docker
+cv-editorial_blue 0:83844532ef02 -0.13 -0.17 •jmhbenchmarking
+cv-editorial_blue 0:8a7a4807b03b -0.13 -0.14 •junit5
+cv-editorial_blue 0:40aaef8fe2a9 -0.13 -0.16 •assertj
+cv-editorial_blue 0:a736ceace0f5 -0.14 -0.15 •pdfbox-basedpngdiff
+cv-editorial_blue 0:9a38eea08d15 -0.14 -0.17 •layout-graphsnapshots
+cv-editorial_blue 0:0d50de959d19 -0.14 -0.14 •mutationtesting(pitest)
+cv-editorial_blue 0:7ea255c76189 -0.14 -0.16 •mavencentral
+cv-editorial_blue 0:4e484fca00bb -0.14 -0.15 •sonatypeossrh
+cv-editorial_blue 0:feaf5883619f -0.14 -0.17 •gpgsigning
+cv-editorial_blue 0:11f34b7449a4 -0.14 -0.16 •semanticversioningdiscipline
cv-editorial_blue 0:68bf0109c6f8 -0.12 0.10 education
cv-editorial_blue 0:78cdd0bfd1ce -0.21 0.10 msccomputerscience2019-2021
cv-editorial_blue 0:47ce0218bbea -0.16 0.10 universityofmanchester
@@ -1725,41 +1725,41 @@ invoice-classic 0:fbeea547d99e 0.00 0.06 london,uk
invoice-classic 0:faf1569a98e9 -0.02 0.06 ec1a4gc
invoice-classic 0:befc6e9b5c24 -0.05 0.06 billing@graphcompose.dev
invoice-classic 0:89674e6f130e -0.07 0.06 +442055551000
-invoice-classic 0:c9046f7a37ad 0.15 0.10 description
-invoice-classic 0:32e8369a9c4f 0.15 1.06 qty
-invoice-classic 0:385cfdbc00ec 0.15 1.06 unit
-invoice-classic 0:cf38d95c9c6b 0.15 1.06 amount
-invoice-classic 0:987c6297d0a9 0.22 0.10 discoveryworkshop
-invoice-classic 0:532674c6eb89 0.22 1.06 gbp1,450
-invoice-classic 0:532674c6eb89#1 0.22 1.06 gbp1,450
-invoice-classic 0:08ec6deb1c40 0.22 0.10 templatearchitecture2
-invoice-classic 0:d2e67c4b1cca 0.22 1.06 gbp980
-invoice-classic 0:d6cdf6a05754 0.22 1.06 gbp1,960
-invoice-classic 0:fe13f8ee4f99 0.22 0.10 renderqa
-invoice-classic 0:7e7398cbff7c 0.22 1.06 gbp320
-invoice-classic 0:e23164e940c7 0.22 1.06 gbp960
-invoice-classic 0:6047df51175c 0.22 0.10 developerenablement1
-invoice-classic 0:c2ad01ea64ae 0.22 1.06 gbp780
-invoice-classic 0:c2ad01ea64ae#1 0.22 1.06 gbp780
-invoice-classic 0:d6577e95efba 0.22 1.10 subtotal
-invoice-classic 0:50cae0510231 0.22 1.10 gbp5,150
-invoice-classic 0:a52611c9261b 0.22 1.10 vat(20%)
-invoice-classic 0:d7f4425b8b16 0.22 1.10 gbp1,030
-invoice-classic 0:11239872d178 0.13 1.10 total
-invoice-classic 0:45a5ad5ad430 0.13 1.10 gbp6,180
-invoice-classic 0:ab5aa97074c4 0.10 0.10 notes
-invoice-classic 0:b78eb53cbd11 0.17 0.10 •pleaseincludetheinvoicenumberon
-invoice-classic 0:8c8fd62f15a7 0.17 0.12 yourremittanceadvice.
-invoice-classic 0:f73f1b89e354 0.17 0.10 •allworkwasdeliveredasagreedduri
-invoice-classic 0:49c1ececed52 0.17 0.12 theaprilimplementationwindow.
-invoice-classic 0:fb854bac39c8 0.10 0.06 paymentterms
-invoice-classic 0:24274f39b50b 0.17 0.06 •paymentduewithin14calendardays.
-invoice-classic 0:c438440ba377 0.17 0.06 •banktransferpreferred;contact
-invoice-classic 0:434cc906ae90 0.17 0.09 billing@graphcompose.devfor
-invoice-classic 0:8822ea375315 0.17 0.09 remittancedetails.
-invoice-classic 0:1a7b5c840e25 0.17 0.06 •latepaymentsmaydelayadditional
-invoice-classic 0:1631a06d245f 0.17 0.09 templatecustomizationwork.
-invoice-classic 0:e3337beaa171 -0.05 0.10 thankyouforchoosinggraphcomposef
+invoice-classic 0:c9046f7a37ad 0.00 0.10 description
+invoice-classic 0:32e8369a9c4f 0.00 1.06 qty
+invoice-classic 0:385cfdbc00ec 0.00 1.06 unit
+invoice-classic 0:cf38d95c9c6b 0.00 1.06 amount
+invoice-classic 0:987c6297d0a9 -0.03 0.10 discoveryworkshop
+invoice-classic 0:532674c6eb89 -0.03 1.06 gbp1,450
+invoice-classic 0:532674c6eb89#1 -0.03 1.06 gbp1,450
+invoice-classic 0:08ec6deb1c40 -0.03 0.10 templatearchitecture2
+invoice-classic 0:d2e67c4b1cca -0.03 1.06 gbp980
+invoice-classic 0:d6cdf6a05754 -0.03 1.06 gbp1,960
+invoice-classic 0:fe13f8ee4f99 -0.03 0.10 renderqa
+invoice-classic 0:7e7398cbff7c -0.03 1.06 gbp320
+invoice-classic 0:e23164e940c7 -0.03 1.06 gbp960
+invoice-classic 0:6047df51175c -0.03 0.10 developerenablement1
+invoice-classic 0:c2ad01ea64ae -0.03 1.06 gbp780
+invoice-classic 0:c2ad01ea64ae#1 -0.03 1.06 gbp780
+invoice-classic 0:d6577e95efba -0.13 1.10 subtotal
+invoice-classic 0:50cae0510231 -0.13 1.10 gbp5,150
+invoice-classic 0:a52611c9261b -0.13 1.10 vat(20%)
+invoice-classic 0:d7f4425b8b16 -0.13 1.10 gbp1,030
+invoice-classic 0:11239872d178 -0.12 1.10 total
+invoice-classic 0:45a5ad5ad430 -0.12 1.10 gbp6,180
+invoice-classic 0:ab5aa97074c4 0.00 0.10 notes
+invoice-classic 0:b78eb53cbd11 0.07 0.10 •pleaseincludetheinvoicenumberon
+invoice-classic 0:8c8fd62f15a7 0.07 0.12 yourremittanceadvice.
+invoice-classic 0:f73f1b89e354 0.07 0.10 •allworkwasdeliveredasagreedduri
+invoice-classic 0:49c1ececed52 0.07 0.12 theaprilimplementationwindow.
+invoice-classic 0:fb854bac39c8 0.00 0.06 paymentterms
+invoice-classic 0:24274f39b50b 0.07 0.06 •paymentduewithin14calendardays.
+invoice-classic 0:c438440ba377 0.07 0.06 •banktransferpreferred;contact
+invoice-classic 0:434cc906ae90 0.07 0.09 billing@graphcompose.devfor
+invoice-classic 0:8822ea375315 0.07 0.09 remittancedetails.
+invoice-classic 0:1a7b5c840e25 0.07 0.06 •latepaymentsmaydelayadditional
+invoice-classic 0:1631a06d245f 0.07 0.09 templatecustomizationwork.
+invoice-classic 0:e3337beaa171 -0.15 0.10 thankyouforchoosinggraphcomposef
invoice-classic_long 0:c26c22b94338 0.49 0.10 graphcomposestudio
invoice-classic_long 0:c26c22b94338#1 0.10 0.06 graphcomposestudio
invoice-classic_long 0:2a08ce5567fb 0.15 0.10 18layoutstreet
@@ -1781,151 +1781,151 @@ invoice-classic_long 0:fbeea547d99e 0.00 0.06 london,uk
invoice-classic_long 0:faf1569a98e9 -0.02 0.06 ec1a4gc
invoice-classic_long 0:befc6e9b5c24 -0.05 0.06 billing@graphcompose.dev
invoice-classic_long 0:89674e6f130e -0.07 0.06 +442055551000
-invoice-classic_long 0:c9046f7a37ad 0.15 0.10 description
-invoice-classic_long 0:32e8369a9c4f 0.15 1.05 qty
-invoice-classic_long 0:385cfdbc00ec 0.15 1.10 unit
-invoice-classic_long 0:cf38d95c9c6b 0.15 1.05 amount
-invoice-classic_long 0:aa29f2f4fcb4 0.22 0.10 discoveryworkshop—sprint1
-invoice-classic_long 0:ce4081aef7a1 0.22 1.10 gbp180
-invoice-classic_long 0:ce4081aef7a1#1 0.22 1.05 gbp180
-invoice-classic_long 0:9c9a412f0a45 0.22 0.10 designsystemaudit—sprint1
-invoice-classic_long 0:7be809cb1590 0.22 1.10 gbp217
-invoice-classic_long 0:378b363c8601 0.22 1.05 gbp434
-invoice-classic_long 0:5257532a7b5d 0.22 0.10 templatearchitecture—sprint1
-invoice-classic_long 0:c467cca4e45a 0.22 1.10 gbp254
-invoice-classic_long 0:4a4a218b012a 0.22 1.05 gbp762
-invoice-classic_long 0:58a1caacbf7e 0.22 0.10 layoutenginetuning—sprint1
-invoice-classic_long 0:dde0144b97b7 0.22 1.10 gbp291
-invoice-classic_long 0:457a71636ad9 0.22 1.05 gbp1164
-invoice-classic_long 0:6fcf7d6dd606 0.22 0.10 renderqapass—sprint1
-invoice-classic_long 0:dda88f5786f5 0.22 1.10 gbp328
-invoice-classic_long 0:dda88f5786f5#1 0.22 1.05 gbp328
-invoice-classic_long 0:ee18ad3bbb42 0.22 0.10 accessibilityreview—sprint1
-invoice-classic_long 0:e681b4843ffb 0.22 1.10 gbp365
-invoice-classic_long 0:1859c20b35dd 0.22 1.05 gbp730
-invoice-classic_long 0:c12c14945fcd 0.22 0.10 fontpipelinesetup—sprint1
-invoice-classic_long 0:9033a33f66e7 0.22 1.10 gbp402
-invoice-classic_long 0:837d48c1ff40 0.22 1.05 gbp1206
-invoice-classic_long 0:af6cba848dc0 0.22 0.10 chartintegration—sprint1
-invoice-classic_long 0:6109a2c30104 0.22 1.10 gbp439
-invoice-classic_long 0:87e9fcb6151d 0.22 1.05 gbp1756
-invoice-classic_long 0:a6bee1ec5e35 0.22 0.10 datamapping—sprint1
-invoice-classic_long 0:df1f9d4443d8 0.22 1.10 gbp476
-invoice-classic_long 0:df1f9d4443d8#1 0.22 1.05 gbp476
-invoice-classic_long 0:052c9f49a4b8 0.22 0.10 paginationhardening—sprint1
-invoice-classic_long 0:9fba6332e489 0.22 1.10 gbp513
-invoice-classic_long 0:6f805c9f78c3 0.22 1.05 gbp1026
-invoice-classic_long 0:b54b7f77d86c 0.22 0.10 visualregressionwiring—sprint13
-invoice-classic_long 0:dc3d212d6b32 0.22 1.10 gbp550
-invoice-classic_long 0:96667fee53f3 0.22 1.05 gbp1650
-invoice-classic_long 0:9fe9e123b0f0 0.22 0.10 docsauthoring—sprint1
-invoice-classic_long 0:e7b406f24f04 0.22 1.10 gbp587
-invoice-classic_long 0:74357ca6b30e 0.22 1.05 gbp2348
-invoice-classic_long 0:9c6cf539f5bc 0.22 0.10 stakeholderdemo—sprint1
-invoice-classic_long 0:cf79b5cdb735 0.22 1.10 gbp624
-invoice-classic_long 0:cf79b5cdb735#1 0.22 1.05 gbp624
-invoice-classic_long 0:d2bde6642670 0.22 0.10 performanceprofiling—sprint1
-invoice-classic_long 0:679f017f73c1 0.22 1.10 gbp661
-invoice-classic_long 0:63985b524723 0.22 1.05 gbp1322
-invoice-classic_long 0:f82bef1ac80d 0.22 0.10 releaseengineering—sprint1
-invoice-classic_long 0:0b21b7cf2ff9 0.22 1.10 gbp698
-invoice-classic_long 0:6afc08056aaa 0.22 1.05 gbp2094
-invoice-classic_long 0:632f71e8ff8b 0.22 0.10 supportretainer—sprint1
-invoice-classic_long 0:70b393b5fb10 0.22 1.10 gbp735
-invoice-classic_long 0:29edf7588a57 0.22 1.05 gbp2940
-invoice-classic_long 0:82a9218b91ae 0.22 0.10 discoveryworkshop—sprint2
-invoice-classic_long 0:c313f34b71b9 0.22 1.10 gbp772
-invoice-classic_long 0:c313f34b71b9#1 0.22 1.05 gbp772
-invoice-classic_long 0:7e69fbffe3e2 0.22 0.10 designsystemaudit—sprint2
-invoice-classic_long 0:e096e4fddf9a 0.22 1.10 gbp809
-invoice-classic_long 0:c985a0123929 0.22 1.05 gbp1618
-invoice-classic_long 0:899f0392eecb 0.22 0.10 templatearchitecture—sprint2
-invoice-classic_long 0:4c973ddb9245 0.22 1.10 gbp846
-invoice-classic_long 0:6ec359ce3927 0.22 1.05 gbp2538
-invoice-classic_long 0:69523ba7402c 0.22 0.10 layoutenginetuning—sprint2
-invoice-classic_long 0:0e196c2b490b 0.22 1.10 gbp883
-invoice-classic_long 0:6e0d19ab72c6 0.22 1.05 gbp3532
-invoice-classic_long 1:c9046f7a37ad 0.20 0.10 description
-invoice-classic_long 1:32e8369a9c4f 0.20 1.05 qty
-invoice-classic_long 1:385cfdbc00ec 0.20 1.10 unit
-invoice-classic_long 1:cf38d95c9c6b 0.20 1.05 amount
-invoice-classic_long 1:f12cbb7c274d 0.27 0.10 renderqapass—sprint2
-invoice-classic_long 1:b813c73bc488 0.27 1.10 gbp920
-invoice-classic_long 1:b813c73bc488#1 0.27 1.05 gbp920
-invoice-classic_long 1:12cd54b50187 0.27 0.10 accessibilityreview—sprint2
-invoice-classic_long 1:377d92702316 0.27 1.10 gbp957
-invoice-classic_long 1:e7c66f6cf477 0.27 1.05 gbp1914
-invoice-classic_long 1:e3d8409ace07 0.27 0.10 fontpipelinesetup—sprint2
-invoice-classic_long 1:21604b8f0b36 0.27 1.10 gbp994
-invoice-classic_long 1:fe15ed444063 0.27 1.05 gbp2982
-invoice-classic_long 1:ca4d3c8eca22 0.27 0.10 chartintegration—sprint2
-invoice-classic_long 1:a4c7a6612c99 0.27 1.10 gbp1031
-invoice-classic_long 1:1c83f0b47e27 0.27 1.05 gbp4124
-invoice-classic_long 1:00de69c6e70f 0.27 0.10 datamapping—sprint2
-invoice-classic_long 1:b9d5c56a2cfd 0.27 1.10 gbp1068
-invoice-classic_long 1:b9d5c56a2cfd#1 0.27 1.05 gbp1068
-invoice-classic_long 1:eb628b5ea8ab 0.27 0.10 paginationhardening—sprint2
-invoice-classic_long 1:db5327b47d0e 0.27 1.10 gbp205
-invoice-classic_long 1:99d9b3b49da2 0.27 1.05 gbp410
-invoice-classic_long 1:505693cbc91e 0.27 0.10 visualregressionwiring—sprint23
-invoice-classic_long 1:9f0c5094fb63 0.27 1.10 gbp242
-invoice-classic_long 1:095b72c9d880 0.27 1.05 gbp726
-invoice-classic_long 1:2a787e61730a 0.27 0.10 docsauthoring—sprint2
-invoice-classic_long 1:28ad00e76aef 0.27 1.10 gbp279
-invoice-classic_long 1:fbb12fed0bbc 0.27 1.05 gbp1116
-invoice-classic_long 1:5369a2c40ff8 0.27 0.10 stakeholderdemo—sprint2
-invoice-classic_long 1:16562cbcd318 0.27 1.10 gbp316
-invoice-classic_long 1:16562cbcd318#1 0.27 1.05 gbp316
-invoice-classic_long 1:611b258cb41e 0.27 0.10 performanceprofiling—sprint2
-invoice-classic_long 1:e391d4e46366 0.27 1.10 gbp353
-invoice-classic_long 1:7106c00cb009 0.27 1.05 gbp706
-invoice-classic_long 1:d24a15800df1 0.27 0.10 releaseengineering—sprint2
-invoice-classic_long 1:4bed9b4092ee 0.27 1.10 gbp390
-invoice-classic_long 1:ae16cd1e31b1 0.27 1.05 gbp1170
-invoice-classic_long 1:6876c7b0fe66 0.27 0.10 supportretainer—sprint2
-invoice-classic_long 1:909481a45a34 0.27 1.10 gbp427
-invoice-classic_long 1:4e58d78d0958 0.27 1.05 gbp1708
-invoice-classic_long 1:ddce236bccd7 0.27 0.10 discoveryworkshop—sprint3
-invoice-classic_long 1:f8d17c11d834 0.27 1.10 gbp464
-invoice-classic_long 1:f8d17c11d834#1 0.27 1.05 gbp464
-invoice-classic_long 1:c0986cd7b1d4 0.27 0.10 designsystemaudit—sprint3
-invoice-classic_long 1:09c7aebd89f6 0.27 1.10 gbp501
-invoice-classic_long 1:a61c7b6bdd20 0.27 1.05 gbp1002
-invoice-classic_long 1:21fd82d170b2 0.27 0.10 templatearchitecture—sprint3
-invoice-classic_long 1:399e39a6eff5 0.27 1.10 gbp538
-invoice-classic_long 1:81ea39164f41 0.27 1.05 gbp1614
-invoice-classic_long 1:47cb1e683e8d 0.27 0.10 layoutenginetuning—sprint3
-invoice-classic_long 1:f6df6e8e8f30 0.27 1.10 gbp575
-invoice-classic_long 1:7f7db0f4c1cf 0.27 1.05 gbp2300
-invoice-classic_long 1:608e31719f07 0.27 0.10 renderqapass—sprint3
-invoice-classic_long 1:e4fbc626999e 0.27 1.10 gbp612
-invoice-classic_long 1:e4fbc626999e#1 0.27 1.05 gbp612
-invoice-classic_long 1:98bfb4deb0b7 0.27 0.10 accessibilityreview—sprint3
-invoice-classic_long 1:7915a839b285 0.27 1.10 gbp649
-invoice-classic_long 1:ca74221d78ad 0.27 1.05 gbp1298
-invoice-classic_long 1:375dddcbee43 0.27 0.10 fontpipelinesetup—sprint3
-invoice-classic_long 1:7b97f0ac8a87 0.27 1.10 gbp686
-invoice-classic_long 1:6a57f6a84a1c 0.27 1.05 gbp2058
-invoice-classic_long 1:2f4f507058ff 0.27 0.10 chartintegration—sprint3
-invoice-classic_long 1:74df855b318c 0.27 1.10 gbp723
-invoice-classic_long 1:78016cdf49ca 0.27 1.05 gbp2892
-invoice-classic_long 1:d6577e95efba 0.27 1.10 subtotal
-invoice-classic_long 1:5969b6461056 0.27 1.10 gbp44,890
-invoice-classic_long 1:a52611c9261b 0.27 1.10 vat(20%)
-invoice-classic_long 1:e7fda33332e9 0.27 1.10 gbp8,978
-invoice-classic_long 1:11239872d178 0.18 1.10 total
-invoice-classic_long 1:90b9dec01ea9 0.18 1.10 gbp53,868
-invoice-classic_long 1:ab5aa97074c4 0.15 0.10 notes
-invoice-classic_long 1:970fb4bf9d95 0.22 0.10 •sprints1-3weredeliveredunderthe
-invoice-classic_long 1:a781fa6c76d2 0.22 0.12 frameworkagreement.
-invoice-classic_long 1:c980fb1ebf98 0.22 0.10 •hardwareandthird-partylicencesa
-invoice-classic_long 1:be1dea5817a5 0.22 0.12 billedseparately.
-invoice-classic_long 1:fb854bac39c8 0.15 0.06 paymentterms
-invoice-classic_long 1:24274f39b50b 0.22 0.06 •paymentduewithin14calendardays.
-invoice-classic_long 1:c438440ba377 0.22 0.06 •banktransferpreferred;contact
-invoice-classic_long 1:434cc906ae90 0.22 0.09 billing@graphcompose.devfor
-invoice-classic_long 1:8822ea375315 0.22 0.09 remittancedetails.
-invoice-classic_long 1:e3337beaa171 0.00 0.10 thankyouforchoosinggraphcomposef
+invoice-classic_long 0:c9046f7a37ad 0.00 0.10 description
+invoice-classic_long 0:32e8369a9c4f 0.00 1.05 qty
+invoice-classic_long 0:385cfdbc00ec 0.00 1.10 unit
+invoice-classic_long 0:cf38d95c9c6b 0.00 1.05 amount
+invoice-classic_long 0:aa29f2f4fcb4 -0.03 0.10 discoveryworkshop—sprint1
+invoice-classic_long 0:ce4081aef7a1 -0.03 1.10 gbp180
+invoice-classic_long 0:ce4081aef7a1#1 -0.03 1.05 gbp180
+invoice-classic_long 0:9c9a412f0a45 -0.03 0.10 designsystemaudit—sprint1
+invoice-classic_long 0:7be809cb1590 -0.03 1.10 gbp217
+invoice-classic_long 0:378b363c8601 -0.03 1.05 gbp434
+invoice-classic_long 0:5257532a7b5d -0.03 0.10 templatearchitecture—sprint1
+invoice-classic_long 0:c467cca4e45a -0.03 1.10 gbp254
+invoice-classic_long 0:4a4a218b012a -0.03 1.05 gbp762
+invoice-classic_long 0:58a1caacbf7e -0.03 0.10 layoutenginetuning—sprint1
+invoice-classic_long 0:dde0144b97b7 -0.03 1.10 gbp291
+invoice-classic_long 0:457a71636ad9 -0.03 1.05 gbp1164
+invoice-classic_long 0:6fcf7d6dd606 -0.03 0.10 renderqapass—sprint1
+invoice-classic_long 0:dda88f5786f5 -0.03 1.10 gbp328
+invoice-classic_long 0:dda88f5786f5#1 -0.03 1.05 gbp328
+invoice-classic_long 0:ee18ad3bbb42 -0.03 0.10 accessibilityreview—sprint1
+invoice-classic_long 0:e681b4843ffb -0.03 1.10 gbp365
+invoice-classic_long 0:1859c20b35dd -0.03 1.05 gbp730
+invoice-classic_long 0:c12c14945fcd -0.03 0.10 fontpipelinesetup—sprint1
+invoice-classic_long 0:9033a33f66e7 -0.03 1.10 gbp402
+invoice-classic_long 0:837d48c1ff40 -0.03 1.05 gbp1206
+invoice-classic_long 0:af6cba848dc0 -0.03 0.10 chartintegration—sprint1
+invoice-classic_long 0:6109a2c30104 -0.03 1.10 gbp439
+invoice-classic_long 0:87e9fcb6151d -0.03 1.05 gbp1756
+invoice-classic_long 0:a6bee1ec5e35 -0.03 0.10 datamapping—sprint1
+invoice-classic_long 0:df1f9d4443d8 -0.03 1.10 gbp476
+invoice-classic_long 0:df1f9d4443d8#1 -0.03 1.05 gbp476
+invoice-classic_long 0:052c9f49a4b8 -0.03 0.10 paginationhardening—sprint1
+invoice-classic_long 0:9fba6332e489 -0.03 1.10 gbp513
+invoice-classic_long 0:6f805c9f78c3 -0.03 1.05 gbp1026
+invoice-classic_long 0:b54b7f77d86c -0.03 0.10 visualregressionwiring—sprint13
+invoice-classic_long 0:dc3d212d6b32 -0.03 1.10 gbp550
+invoice-classic_long 0:96667fee53f3 -0.03 1.05 gbp1650
+invoice-classic_long 0:9fe9e123b0f0 -0.03 0.10 docsauthoring—sprint1
+invoice-classic_long 0:e7b406f24f04 -0.03 1.10 gbp587
+invoice-classic_long 0:74357ca6b30e -0.03 1.05 gbp2348
+invoice-classic_long 0:9c6cf539f5bc -0.03 0.10 stakeholderdemo—sprint1
+invoice-classic_long 0:cf79b5cdb735 -0.03 1.10 gbp624
+invoice-classic_long 0:cf79b5cdb735#1 -0.03 1.05 gbp624
+invoice-classic_long 0:d2bde6642670 -0.03 0.10 performanceprofiling—sprint1
+invoice-classic_long 0:679f017f73c1 -0.03 1.10 gbp661
+invoice-classic_long 0:63985b524723 -0.03 1.05 gbp1322
+invoice-classic_long 0:f82bef1ac80d -0.03 0.10 releaseengineering—sprint1
+invoice-classic_long 0:0b21b7cf2ff9 -0.03 1.10 gbp698
+invoice-classic_long 0:6afc08056aaa -0.03 1.05 gbp2094
+invoice-classic_long 0:632f71e8ff8b -0.03 0.10 supportretainer—sprint1
+invoice-classic_long 0:70b393b5fb10 -0.03 1.10 gbp735
+invoice-classic_long 0:29edf7588a57 -0.03 1.05 gbp2940
+invoice-classic_long 0:82a9218b91ae -0.03 0.10 discoveryworkshop—sprint2
+invoice-classic_long 0:c313f34b71b9 -0.03 1.10 gbp772
+invoice-classic_long 0:c313f34b71b9#1 -0.03 1.05 gbp772
+invoice-classic_long 0:7e69fbffe3e2 -0.03 0.10 designsystemaudit—sprint2
+invoice-classic_long 0:e096e4fddf9a -0.03 1.10 gbp809
+invoice-classic_long 0:c985a0123929 -0.03 1.05 gbp1618
+invoice-classic_long 0:899f0392eecb -0.03 0.10 templatearchitecture—sprint2
+invoice-classic_long 0:4c973ddb9245 -0.03 1.10 gbp846
+invoice-classic_long 0:6ec359ce3927 -0.03 1.05 gbp2538
+invoice-classic_long 0:69523ba7402c -0.03 0.10 layoutenginetuning—sprint2
+invoice-classic_long 0:0e196c2b490b -0.03 1.10 gbp883
+invoice-classic_long 0:6e0d19ab72c6 -0.03 1.05 gbp3532
+invoice-classic_long 1:c9046f7a37ad -0.05 0.10 description
+invoice-classic_long 1:32e8369a9c4f -0.05 1.05 qty
+invoice-classic_long 1:385cfdbc00ec -0.05 1.10 unit
+invoice-classic_long 1:cf38d95c9c6b -0.05 1.05 amount
+invoice-classic_long 1:f12cbb7c274d -0.08 0.10 renderqapass—sprint2
+invoice-classic_long 1:b813c73bc488 -0.08 1.10 gbp920
+invoice-classic_long 1:b813c73bc488#1 -0.08 1.05 gbp920
+invoice-classic_long 1:12cd54b50187 -0.08 0.10 accessibilityreview—sprint2
+invoice-classic_long 1:377d92702316 -0.08 1.10 gbp957
+invoice-classic_long 1:e7c66f6cf477 -0.08 1.05 gbp1914
+invoice-classic_long 1:e3d8409ace07 -0.08 0.10 fontpipelinesetup—sprint2
+invoice-classic_long 1:21604b8f0b36 -0.08 1.10 gbp994
+invoice-classic_long 1:fe15ed444063 -0.08 1.05 gbp2982
+invoice-classic_long 1:ca4d3c8eca22 -0.08 0.10 chartintegration—sprint2
+invoice-classic_long 1:a4c7a6612c99 -0.08 1.10 gbp1031
+invoice-classic_long 1:1c83f0b47e27 -0.08 1.05 gbp4124
+invoice-classic_long 1:00de69c6e70f -0.08 0.10 datamapping—sprint2
+invoice-classic_long 1:b9d5c56a2cfd -0.08 1.10 gbp1068
+invoice-classic_long 1:b9d5c56a2cfd#1 -0.08 1.05 gbp1068
+invoice-classic_long 1:eb628b5ea8ab -0.08 0.10 paginationhardening—sprint2
+invoice-classic_long 1:db5327b47d0e -0.08 1.10 gbp205
+invoice-classic_long 1:99d9b3b49da2 -0.08 1.05 gbp410
+invoice-classic_long 1:505693cbc91e -0.08 0.10 visualregressionwiring—sprint23
+invoice-classic_long 1:9f0c5094fb63 -0.08 1.10 gbp242
+invoice-classic_long 1:095b72c9d880 -0.08 1.05 gbp726
+invoice-classic_long 1:2a787e61730a -0.08 0.10 docsauthoring—sprint2
+invoice-classic_long 1:28ad00e76aef -0.08 1.10 gbp279
+invoice-classic_long 1:fbb12fed0bbc -0.08 1.05 gbp1116
+invoice-classic_long 1:5369a2c40ff8 -0.08 0.10 stakeholderdemo—sprint2
+invoice-classic_long 1:16562cbcd318 -0.08 1.10 gbp316
+invoice-classic_long 1:16562cbcd318#1 -0.08 1.05 gbp316
+invoice-classic_long 1:611b258cb41e -0.08 0.10 performanceprofiling—sprint2
+invoice-classic_long 1:e391d4e46366 -0.08 1.10 gbp353
+invoice-classic_long 1:7106c00cb009 -0.08 1.05 gbp706
+invoice-classic_long 1:d24a15800df1 -0.08 0.10 releaseengineering—sprint2
+invoice-classic_long 1:4bed9b4092ee -0.08 1.10 gbp390
+invoice-classic_long 1:ae16cd1e31b1 -0.08 1.05 gbp1170
+invoice-classic_long 1:6876c7b0fe66 -0.08 0.10 supportretainer—sprint2
+invoice-classic_long 1:909481a45a34 -0.08 1.10 gbp427
+invoice-classic_long 1:4e58d78d0958 -0.08 1.05 gbp1708
+invoice-classic_long 1:ddce236bccd7 -0.08 0.10 discoveryworkshop—sprint3
+invoice-classic_long 1:f8d17c11d834 -0.08 1.10 gbp464
+invoice-classic_long 1:f8d17c11d834#1 -0.08 1.05 gbp464
+invoice-classic_long 1:c0986cd7b1d4 -0.08 0.10 designsystemaudit—sprint3
+invoice-classic_long 1:09c7aebd89f6 -0.08 1.10 gbp501
+invoice-classic_long 1:a61c7b6bdd20 -0.08 1.05 gbp1002
+invoice-classic_long 1:21fd82d170b2 -0.08 0.10 templatearchitecture—sprint3
+invoice-classic_long 1:399e39a6eff5 -0.08 1.10 gbp538
+invoice-classic_long 1:81ea39164f41 -0.08 1.05 gbp1614
+invoice-classic_long 1:47cb1e683e8d -0.08 0.10 layoutenginetuning—sprint3
+invoice-classic_long 1:f6df6e8e8f30 -0.08 1.10 gbp575
+invoice-classic_long 1:7f7db0f4c1cf -0.08 1.05 gbp2300
+invoice-classic_long 1:608e31719f07 -0.08 0.10 renderqapass—sprint3
+invoice-classic_long 1:e4fbc626999e -0.08 1.10 gbp612
+invoice-classic_long 1:e4fbc626999e#1 -0.08 1.05 gbp612
+invoice-classic_long 1:98bfb4deb0b7 -0.08 0.10 accessibilityreview—sprint3
+invoice-classic_long 1:7915a839b285 -0.08 1.10 gbp649
+invoice-classic_long 1:ca74221d78ad -0.08 1.05 gbp1298
+invoice-classic_long 1:375dddcbee43 -0.08 0.10 fontpipelinesetup—sprint3
+invoice-classic_long 1:7b97f0ac8a87 -0.08 1.10 gbp686
+invoice-classic_long 1:6a57f6a84a1c -0.08 1.05 gbp2058
+invoice-classic_long 1:2f4f507058ff -0.08 0.10 chartintegration—sprint3
+invoice-classic_long 1:74df855b318c -0.08 1.10 gbp723
+invoice-classic_long 1:78016cdf49ca -0.08 1.05 gbp2892
+invoice-classic_long 1:d6577e95efba -0.18 1.10 subtotal
+invoice-classic_long 1:5969b6461056 -0.18 1.10 gbp44,890
+invoice-classic_long 1:a52611c9261b -0.18 1.10 vat(20%)
+invoice-classic_long 1:e7fda33332e9 -0.18 1.10 gbp8,978
+invoice-classic_long 1:11239872d178 -0.17 1.10 total
+invoice-classic_long 1:90b9dec01ea9 -0.17 1.10 gbp53,868
+invoice-classic_long 1:ab5aa97074c4 -0.05 0.10 notes
+invoice-classic_long 1:970fb4bf9d95 0.02 0.10 •sprints1-3weredeliveredunderthe
+invoice-classic_long 1:a781fa6c76d2 0.02 0.12 frameworkagreement.
+invoice-classic_long 1:c980fb1ebf98 0.02 0.10 •hardwareandthird-partylicencesa
+invoice-classic_long 1:be1dea5817a5 0.02 0.12 billedseparately.
+invoice-classic_long 1:fb854bac39c8 -0.05 0.06 paymentterms
+invoice-classic_long 1:24274f39b50b 0.02 0.06 •paymentduewithin14calendardays.
+invoice-classic_long 1:c438440ba377 0.02 0.06 •banktransferpreferred;contact
+invoice-classic_long 1:434cc906ae90 0.02 0.09 billing@graphcompose.devfor
+invoice-classic_long 1:8822ea375315 0.02 0.09 remittancedetails.
+invoice-classic_long 1:e3337beaa171 -0.20 0.10 thankyouforchoosinggraphcomposef
invoice-consulting 0:d44ceaea97d1 0.27 0.10 level8,1collinsstreet
invoice-consulting 0:78a0bb33347f 0.29 0.10 melbournevic3000australia
invoice-consulting 0:3b45ab243edb 0.51 0.10 +61398765432
@@ -1934,7 +1934,7 @@ invoice-consulting 0:ef0664c1d352 0.51 0.10 northpoint.com.au
invoice-consulting 0:52d6e3de4fa0 -0.44 0.07 invoice
invoice-consulting 0:6282391a4cc1 -0.53 0.07 invoicenumber:
invoice-consulting 0:7d66eb3c1070 -0.19 0.06 inv-2025-0478
-invoice-consulting 0:7d66eb3c1070#1 1.01 0.10 inv-2025-0478
+invoice-consulting 0:7d66eb3c1070#1 0.96 0.10 inv-2025-0478
invoice-consulting 0:89973ab74e1c -0.53 0.07 issuedate:
invoice-consulting 0:0dee636efa5b -0.19 0.06 26may2025
invoice-consulting 0:0e0fb0fc0939 -0.53 0.07 duedate:
@@ -1954,68 +1954,68 @@ invoice-consulting 0:cfebda697822 -0.06 0.10 invoicesummary
invoice-consulting 0:5656f37a9311 0.15 0.10 professionalservicesrenderedinac
invoice-consulting 0:a918299ac844 0.16 0.10 statementofworkfortheperiod
invoice-consulting 0:3fa8489d9aac 0.12 0.10 1may2025–25may2025.
-invoice-consulting 0:c9046f7a37ad 0.67 -0.70 description
-invoice-consulting 0:b28225a1247c 0.67 -0.82 serviceperiod
-invoice-consulting 0:32e8369a9c4f 0.67 -0.35 qty
-invoice-consulting 0:d1062d072acd 0.66 -0.62 unitprice
-invoice-consulting 0:3ff0b4a2706b 0.68 -0.45 (aud)
-invoice-consulting 0:3ff0b4a2706b#1 0.68 -0.42 (aud)
-invoice-consulting 0:cf38d95c9c6b 0.66 -0.55 amount
-invoice-consulting 0:b344321f5471 0.86 0.16 1–10may2025
-invoice-consulting 0:a8994a9020c4 0.86 -0.09 10.00
-invoice-consulting 0:4e9682fa850e 0.87 -0.13 hrs
-invoice-consulting 0:4e9682fa850e#1 0.93 -0.13 hrs
-invoice-consulting 0:aa92f0e23a97 0.86 0.18 250.00
-invoice-consulting 0:e48d9b7a2993 0.86 0.31 2,500.00
-invoice-consulting 0:1bcfde966d94 0.59 -0.21 strategicconsultation
-invoice-consulting 0:fd3ca268f319 0.62 -0.21 leadershipalignmentworkshops
-invoice-consulting 0:8d93e0c47a8c 0.88 0.16 1–15may2025
-invoice-consulting 0:cf9dcf6da8a8 0.88 -0.07 1.00
-invoice-consulting 0:cf9dcf6da8a8#1 0.90 -0.07 1.00
-invoice-consulting 0:cf9dcf6da8a8#2 0.94 -0.07 1.00
-invoice-consulting 0:97e47b250054 0.88 0.27 3,500.00
-invoice-consulting 0:97e47b250054#1 0.88 0.32 3,500.00
-invoice-consulting 0:5581aef375ff 0.61 -0.21 market&competitiveanalysis
-invoice-consulting 0:957080ea09d9 0.64 -0.21 researchandanalysisreport
-invoice-consulting 0:47102c31f226 0.90 0.19 5–20may2025
-invoice-consulting 0:ec6305055be9 0.90 0.25 4,800.00
-invoice-consulting 0:ec6305055be9#1 0.90 0.29 4,800.00
-invoice-consulting 0:53dea97cf116 0.63 -0.21 digitalroadmapdevelopment
-invoice-consulting 0:acf357e68297 0.66 -0.21 strategyandroadmapcreation
-invoice-consulting 0:c947fb16eab2 0.92 0.21 15–22may2025
-invoice-consulting 0:017144e2271f 0.92 -0.08 6.00
-invoice-consulting 0:be6012a47af0 0.92 0.18 220.00
-invoice-consulting 0:172c0a785bc7 0.92 0.27 1,320.00
-invoice-consulting 0:fe04037aa850 0.65 -0.21 stakeholderreviewsessions
-invoice-consulting 0:4658a1bff292 0.68 -0.21 facilitationanddocumentation
-invoice-consulting 0:86f73207c794 0.94 0.23 20–25may2025
-invoice-consulting 0:55907ef405f6 0.94 0.22 1,880.00
-invoice-consulting 0:55907ef405f6#1 0.94 0.27 1,880.00
-invoice-consulting 0:f2e12ad6cc9f 0.72 -0.21 presentation&finalreport
-invoice-consulting 0:50de6dc61b80 0.75 -0.21 executivepresentationanddelivery
-invoice-consulting 0:d6577e95efba -0.11 0.12 subtotal
-invoice-consulting 0:6311b1798398 0.23 0.63 14,000.00
-invoice-consulting 0:e370855bde0c -0.11 0.12 gst(10%)
-invoice-consulting 0:b87e26fb8fac 0.23 0.57 1,400.00
-invoice-consulting 0:713a1893d967 -0.87 0.12 totaldue(aud)
-invoice-consulting 0:d4464a725927 0.10 1.03 15,400.00
-invoice-consulting 0:13000a5d442c 0.36 0.10 paymentinformation
-invoice-consulting 0:944d398aea60 1.01 0.10 bankname:
-invoice-consulting 0:97fa113746b9 1.01 0.10 examplebank
-invoice-consulting 0:0ecb5847ffa7 1.01 0.10 accountname:
-invoice-consulting 0:b5dd15368c26 1.01 0.10 northpointconsultingptyltd
-invoice-consulting 0:6bbca23a71e6 1.01 0.10 bsb:
-invoice-consulting 0:83a417f0862b 1.01 0.10 123-456
-invoice-consulting 0:6b4894c28363 1.01 0.10 accountnumber:
-invoice-consulting 0:ef797c8118f0 1.01 0.10 12345678
-invoice-consulting 0:c608665436db 1.01 0.10 reference:
-invoice-consulting 0:010450dee1ff 0.52 0.10 pleaseensuretheinvoicenumberisin
-invoice-consulting 0:ab5aa97074c4 0.36 0.12 notes
-invoice-consulting 0:7c6ab37d83ef 0.52 0.12 thankyouforyourbusiness.
-invoice-consulting 0:4a699e29a3bb 0.53 0.12 ifyouhaveanyquestionsregardingth
-invoice-consulting 0:c766251af1f4 0.54 0.12 contactusataccounts@northpoint.c
-invoice-consulting 0:3d32fa219332 0.55 0.12 +61398765432.
-invoice-consulting 0:a6f6e2ddab6d 0.97 0.12 paymentisduewithin30daysfromthei
+invoice-consulting 0:c9046f7a37ad 0.12 -0.70 description
+invoice-consulting 0:b28225a1247c 0.12 -0.82 serviceperiod
+invoice-consulting 0:32e8369a9c4f 0.12 -0.35 qty
+invoice-consulting 0:d1062d072acd 0.11 -0.62 unitprice
+invoice-consulting 0:3ff0b4a2706b 0.13 -0.45 (aud)
+invoice-consulting 0:3ff0b4a2706b#1 0.13 -0.42 (aud)
+invoice-consulting 0:cf38d95c9c6b 0.11 -0.55 amount
+invoice-consulting 0:b344321f5471 0.06 0.16 1–10may2025
+invoice-consulting 0:a8994a9020c4 0.06 -0.09 10.00
+invoice-consulting 0:4e9682fa850e 0.07 -0.13 hrs
+invoice-consulting 0:4e9682fa850e#1 0.13 -0.13 hrs
+invoice-consulting 0:aa92f0e23a97 0.06 0.18 250.00
+invoice-consulting 0:e48d9b7a2993 0.06 0.31 2,500.00
+invoice-consulting 0:1bcfde966d94 0.54 -0.21 strategicconsultation
+invoice-consulting 0:fd3ca268f319 0.57 -0.21 leadershipalignmentworkshops
+invoice-consulting 0:8d93e0c47a8c 0.08 0.16 1–15may2025
+invoice-consulting 0:cf9dcf6da8a8 0.08 -0.07 1.00
+invoice-consulting 0:cf9dcf6da8a8#1 0.10 -0.07 1.00
+invoice-consulting 0:cf9dcf6da8a8#2 0.14 -0.07 1.00
+invoice-consulting 0:97e47b250054 0.08 0.27 3,500.00
+invoice-consulting 0:97e47b250054#1 0.08 0.32 3,500.00
+invoice-consulting 0:5581aef375ff 0.56 -0.21 market&competitiveanalysis
+invoice-consulting 0:957080ea09d9 0.59 -0.21 researchandanalysisreport
+invoice-consulting 0:47102c31f226 0.10 0.19 5–20may2025
+invoice-consulting 0:ec6305055be9 0.10 0.25 4,800.00
+invoice-consulting 0:ec6305055be9#1 0.10 0.29 4,800.00
+invoice-consulting 0:53dea97cf116 0.58 -0.21 digitalroadmapdevelopment
+invoice-consulting 0:acf357e68297 0.61 -0.21 strategyandroadmapcreation
+invoice-consulting 0:c947fb16eab2 0.12 0.21 15–22may2025
+invoice-consulting 0:017144e2271f 0.12 -0.08 6.00
+invoice-consulting 0:be6012a47af0 0.12 0.18 220.00
+invoice-consulting 0:172c0a785bc7 0.12 0.27 1,320.00
+invoice-consulting 0:fe04037aa850 0.60 -0.21 stakeholderreviewsessions
+invoice-consulting 0:4658a1bff292 0.63 -0.21 facilitationanddocumentation
+invoice-consulting 0:86f73207c794 0.14 0.23 20–25may2025
+invoice-consulting 0:55907ef405f6 0.14 0.22 1,880.00
+invoice-consulting 0:55907ef405f6#1 0.14 0.27 1,880.00
+invoice-consulting 0:f2e12ad6cc9f 0.62 -0.21 presentation&finalreport
+invoice-consulting 0:50de6dc61b80 0.65 -0.21 executivepresentationanddelivery
+invoice-consulting 0:d6577e95efba -0.16 0.12 subtotal
+invoice-consulting 0:6311b1798398 0.18 0.63 14,000.00
+invoice-consulting 0:e370855bde0c -0.16 0.12 gst(10%)
+invoice-consulting 0:b87e26fb8fac 0.18 0.57 1,400.00
+invoice-consulting 0:713a1893d967 -0.92 0.12 totaldue(aud)
+invoice-consulting 0:d4464a725927 0.05 1.03 15,400.00
+invoice-consulting 0:13000a5d442c 0.31 0.10 paymentinformation
+invoice-consulting 0:944d398aea60 0.96 0.10 bankname:
+invoice-consulting 0:97fa113746b9 0.96 0.10 examplebank
+invoice-consulting 0:0ecb5847ffa7 0.96 0.10 accountname:
+invoice-consulting 0:b5dd15368c26 0.96 0.10 northpointconsultingptyltd
+invoice-consulting 0:6bbca23a71e6 0.96 0.10 bsb:
+invoice-consulting 0:83a417f0862b 0.96 0.10 123-456
+invoice-consulting 0:6b4894c28363 0.96 0.10 accountnumber:
+invoice-consulting 0:ef797c8118f0 0.96 0.10 12345678
+invoice-consulting 0:c608665436db 0.96 0.10 reference:
+invoice-consulting 0:010450dee1ff 0.47 0.10 pleaseensuretheinvoicenumberisin
+invoice-consulting 0:ab5aa97074c4 0.31 0.12 notes
+invoice-consulting 0:7c6ab37d83ef 0.47 0.12 thankyouforyourbusiness.
+invoice-consulting 0:4a699e29a3bb 0.48 0.12 ifyouhaveanyquestionsregardingth
+invoice-consulting 0:c766251af1f4 0.49 0.12 contactusataccounts@northpoint.c
+invoice-consulting 0:3d32fa219332 0.50 0.12 +61398765432.
+invoice-consulting 0:a6f6e2ddab6d 0.92 0.12 paymentisduewithin30daysfromthei
invoice-consulting 0:55ee5fe62c33 0.01 0.13 northpointconsultingptyltd|abn12
invoice-consulting 0:bdbada284e80 0.01 0.29 page1/1
invoice-consulting_long 0:d44ceaea97d1 0.27 0.10 level8,1collinsstreet
@@ -2045,213 +2045,213 @@ invoice-consulting_long 0:cfebda697822 -0.06 0.10 invoicesummary
invoice-consulting_long 0:5656f37a9311 0.15 0.10 professionalservicesrenderedinac
invoice-consulting_long 0:a918299ac844 0.16 0.10 statementofworkfortheperiod
invoice-consulting_long 0:3fa8489d9aac 0.12 0.10 1may2025–25may2025.
-invoice-consulting_long 0:c9046f7a37ad 0.67 -0.70 description
-invoice-consulting_long 0:b28225a1247c 0.67 -0.82 serviceperiod
-invoice-consulting_long 0:32e8369a9c4f 0.67 -0.35 qty
-invoice-consulting_long 0:d1062d072acd 0.66 -0.62 unitprice
-invoice-consulting_long 0:3ff0b4a2706b 0.68 -0.45 (aud)
-invoice-consulting_long 0:3ff0b4a2706b#1 0.68 -0.42 (aud)
-invoice-consulting_long 0:cf38d95c9c6b 0.66 -0.55 amount
-invoice-consulting_long 0:b344321f5471 0.86 0.16 1–10may2025
-invoice-consulting_long 0:b344321f5471#1 0.96 0.16 1–10may2025
-invoice-consulting_long 0:b344321f5471#2 1.06 0.16 1–10may2025
-invoice-consulting_long 0:a8994a9020c4 0.86 -0.09 10.00
-invoice-consulting_long 0:a8994a9020c4#1 0.96 -0.09 10.00
-invoice-consulting_long 0:a8994a9020c4#2 1.06 -0.09 10.00
-invoice-consulting_long 0:4e9682fa850e 0.87 -0.13 hrs
-invoice-consulting_long 0:4e9682fa850e#1 0.93 -0.13 hrs
-invoice-consulting_long 0:4e9682fa850e#2 0.97 -0.13 hrs
-invoice-consulting_long 0:4e9682fa850e#3 1.03 -0.13 hrs
-invoice-consulting_long 0:4e9682fa850e#4 1.07 -0.13 hrs
-invoice-consulting_long 0:4e9682fa850e#5 1.13 -0.13 hrs
-invoice-consulting_long 0:aa92f0e23a97 0.86 0.18 250.00
-invoice-consulting_long 0:aa92f0e23a97#1 0.96 0.18 250.00
-invoice-consulting_long 0:aa92f0e23a97#2 1.06 0.18 250.00
-invoice-consulting_long 0:e48d9b7a2993 0.86 0.31 2,500.00
-invoice-consulting_long 0:e48d9b7a2993#1 0.96 0.31 2,500.00
-invoice-consulting_long 0:e48d9b7a2993#2 1.06 0.31 2,500.00
-invoice-consulting_long 0:1bcfde966d94 0.59 -0.21 strategicconsultation
-invoice-consulting_long 0:1bcfde966d94#1 0.69 -0.21 strategicconsultation
-invoice-consulting_long 0:1bcfde966d94#2 0.79 -0.21 strategicconsultation
-invoice-consulting_long 0:fd3ca268f319 0.62 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 0:fd3ca268f319#1 0.72 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 0:fd3ca268f319#2 0.82 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 0:8d93e0c47a8c 0.88 0.16 1–15may2025
-invoice-consulting_long 0:8d93e0c47a8c#1 0.98 0.16 1–15may2025
-invoice-consulting_long 0:8d93e0c47a8c#2 1.08 0.16 1–15may2025
-invoice-consulting_long 0:cf9dcf6da8a8 0.88 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#1 0.90 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#2 0.94 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#3 0.98 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#4 1.00 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#5 1.04 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#6 1.08 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#7 1.10 -0.07 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#8 1.14 -0.07 1.00
-invoice-consulting_long 0:97e47b250054 0.88 0.27 3,500.00
-invoice-consulting_long 0:97e47b250054#1 0.88 0.32 3,500.00
-invoice-consulting_long 0:97e47b250054#2 0.98 0.27 3,500.00
-invoice-consulting_long 0:97e47b250054#3 0.98 0.32 3,500.00
-invoice-consulting_long 0:97e47b250054#4 1.08 0.27 3,500.00
-invoice-consulting_long 0:97e47b250054#5 1.08 0.32 3,500.00
-invoice-consulting_long 0:5581aef375ff 0.61 -0.21 market&competitiveanalysis
-invoice-consulting_long 0:5581aef375ff#1 0.71 -0.21 market&competitiveanalysis
-invoice-consulting_long 0:5581aef375ff#2 0.81 -0.21 market&competitiveanalysis
-invoice-consulting_long 0:957080ea09d9 0.64 -0.21 researchandanalysisreport
-invoice-consulting_long 0:957080ea09d9#1 0.74 -0.21 researchandanalysisreport
-invoice-consulting_long 0:957080ea09d9#2 0.84 -0.21 researchandanalysisreport
-invoice-consulting_long 0:47102c31f226 0.90 0.19 5–20may2025
-invoice-consulting_long 0:47102c31f226#1 1.00 0.19 5–20may2025
-invoice-consulting_long 0:47102c31f226#2 1.10 0.19 5–20may2025
-invoice-consulting_long 0:ec6305055be9 0.90 0.25 4,800.00
-invoice-consulting_long 0:ec6305055be9#1 0.90 0.29 4,800.00
-invoice-consulting_long 0:ec6305055be9#2 1.00 0.25 4,800.00
-invoice-consulting_long 0:ec6305055be9#3 1.00 0.29 4,800.00
-invoice-consulting_long 0:ec6305055be9#4 1.10 0.25 4,800.00
-invoice-consulting_long 0:ec6305055be9#5 1.10 0.29 4,800.00
-invoice-consulting_long 0:53dea97cf116 0.63 -0.21 digitalroadmapdevelopment
-invoice-consulting_long 0:53dea97cf116#1 0.73 -0.21 digitalroadmapdevelopment
-invoice-consulting_long 0:53dea97cf116#2 0.83 -0.21 digitalroadmapdevelopment
-invoice-consulting_long 0:acf357e68297 0.66 -0.21 strategyandroadmapcreation
-invoice-consulting_long 0:acf357e68297#1 0.76 -0.21 strategyandroadmapcreation
-invoice-consulting_long 0:acf357e68297#2 0.86 -0.21 strategyandroadmapcreation
-invoice-consulting_long 0:c947fb16eab2 0.92 0.21 15–22may2025
-invoice-consulting_long 0:c947fb16eab2#1 1.02 0.21 15–22may2025
-invoice-consulting_long 0:c947fb16eab2#2 1.12 0.21 15–22may2025
-invoice-consulting_long 0:017144e2271f 0.92 -0.08 6.00
-invoice-consulting_long 0:017144e2271f#1 1.02 -0.08 6.00
-invoice-consulting_long 0:017144e2271f#2 1.12 -0.08 6.00
-invoice-consulting_long 0:be6012a47af0 0.92 0.18 220.00
-invoice-consulting_long 0:be6012a47af0#1 1.02 0.18 220.00
-invoice-consulting_long 0:be6012a47af0#2 1.12 0.18 220.00
-invoice-consulting_long 0:172c0a785bc7 0.92 0.27 1,320.00
-invoice-consulting_long 0:172c0a785bc7#1 1.02 0.27 1,320.00
-invoice-consulting_long 0:172c0a785bc7#2 1.12 0.27 1,320.00
-invoice-consulting_long 0:fe04037aa850 0.65 -0.21 stakeholderreviewsessions
-invoice-consulting_long 0:fe04037aa850#1 0.75 -0.21 stakeholderreviewsessions
-invoice-consulting_long 0:fe04037aa850#2 0.85 -0.21 stakeholderreviewsessions
-invoice-consulting_long 0:4658a1bff292 0.68 -0.21 facilitationanddocumentation
-invoice-consulting_long 0:4658a1bff292#1 0.78 -0.21 facilitationanddocumentation
-invoice-consulting_long 0:4658a1bff292#2 0.88 -0.21 facilitationanddocumentation
-invoice-consulting_long 0:86f73207c794 0.94 0.23 20–25may2025
-invoice-consulting_long 0:86f73207c794#1 1.04 0.23 20–25may2025
-invoice-consulting_long 0:86f73207c794#2 1.14 0.23 20–25may2025
-invoice-consulting_long 0:55907ef405f6 0.94 0.22 1,880.00
-invoice-consulting_long 0:55907ef405f6#1 0.94 0.27 1,880.00
-invoice-consulting_long 0:55907ef405f6#2 1.04 0.22 1,880.00
-invoice-consulting_long 0:55907ef405f6#3 1.04 0.27 1,880.00
-invoice-consulting_long 0:55907ef405f6#4 1.14 0.22 1,880.00
-invoice-consulting_long 0:55907ef405f6#5 1.14 0.27 1,880.00
-invoice-consulting_long 0:f2e12ad6cc9f 0.67 -0.21 presentation&finalreport
-invoice-consulting_long 0:f2e12ad6cc9f#1 0.77 -0.21 presentation&finalreport
-invoice-consulting_long 0:f2e12ad6cc9f#2 0.87 -0.21 presentation&finalreport
-invoice-consulting_long 0:50de6dc61b80 0.70 -0.21 executivepresentationanddelivery
-invoice-consulting_long 0:50de6dc61b80#1 0.80 -0.21 executivepresentationanddelivery
-invoice-consulting_long 0:50de6dc61b80#2 0.90 -0.21 executivepresentationanddelivery
+invoice-consulting_long 0:c9046f7a37ad 0.12 -0.70 description
+invoice-consulting_long 0:b28225a1247c 0.12 -0.82 serviceperiod
+invoice-consulting_long 0:32e8369a9c4f 0.12 -0.35 qty
+invoice-consulting_long 0:d1062d072acd 0.11 -0.62 unitprice
+invoice-consulting_long 0:3ff0b4a2706b 0.13 -0.45 (aud)
+invoice-consulting_long 0:3ff0b4a2706b#1 0.13 -0.42 (aud)
+invoice-consulting_long 0:cf38d95c9c6b 0.11 -0.55 amount
+invoice-consulting_long 0:b344321f5471 0.06 0.16 1–10may2025
+invoice-consulting_long 0:b344321f5471#1 0.16 0.16 1–10may2025
+invoice-consulting_long 0:b344321f5471#2 0.26 0.16 1–10may2025
+invoice-consulting_long 0:a8994a9020c4 0.06 -0.09 10.00
+invoice-consulting_long 0:a8994a9020c4#1 0.16 -0.09 10.00
+invoice-consulting_long 0:a8994a9020c4#2 0.26 -0.09 10.00
+invoice-consulting_long 0:4e9682fa850e 0.07 -0.13 hrs
+invoice-consulting_long 0:4e9682fa850e#1 0.13 -0.13 hrs
+invoice-consulting_long 0:4e9682fa850e#2 0.17 -0.13 hrs
+invoice-consulting_long 0:4e9682fa850e#3 0.23 -0.13 hrs
+invoice-consulting_long 0:4e9682fa850e#4 0.27 -0.13 hrs
+invoice-consulting_long 0:4e9682fa850e#5 0.33 -0.13 hrs
+invoice-consulting_long 0:aa92f0e23a97 0.06 0.18 250.00
+invoice-consulting_long 0:aa92f0e23a97#1 0.16 0.18 250.00
+invoice-consulting_long 0:aa92f0e23a97#2 0.26 0.18 250.00
+invoice-consulting_long 0:e48d9b7a2993 0.06 0.31 2,500.00
+invoice-consulting_long 0:e48d9b7a2993#1 0.16 0.31 2,500.00
+invoice-consulting_long 0:e48d9b7a2993#2 0.26 0.31 2,500.00
+invoice-consulting_long 0:1bcfde966d94 0.54 -0.21 strategicconsultation
+invoice-consulting_long 0:1bcfde966d94#1 0.64 -0.21 strategicconsultation
+invoice-consulting_long 0:1bcfde966d94#2 0.74 -0.21 strategicconsultation
+invoice-consulting_long 0:fd3ca268f319 0.57 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 0:fd3ca268f319#1 0.67 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 0:fd3ca268f319#2 0.77 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 0:8d93e0c47a8c 0.08 0.16 1–15may2025
+invoice-consulting_long 0:8d93e0c47a8c#1 0.18 0.16 1–15may2025
+invoice-consulting_long 0:8d93e0c47a8c#2 0.28 0.16 1–15may2025
+invoice-consulting_long 0:cf9dcf6da8a8 0.08 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#1 0.10 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#2 0.14 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#3 0.18 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#4 0.20 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#5 0.24 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#6 0.28 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#7 0.30 -0.07 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#8 0.34 -0.07 1.00
+invoice-consulting_long 0:97e47b250054 0.08 0.27 3,500.00
+invoice-consulting_long 0:97e47b250054#1 0.08 0.32 3,500.00
+invoice-consulting_long 0:97e47b250054#2 0.18 0.27 3,500.00
+invoice-consulting_long 0:97e47b250054#3 0.18 0.32 3,500.00
+invoice-consulting_long 0:97e47b250054#4 0.28 0.27 3,500.00
+invoice-consulting_long 0:97e47b250054#5 0.28 0.32 3,500.00
+invoice-consulting_long 0:5581aef375ff 0.56 -0.21 market&competitiveanalysis
+invoice-consulting_long 0:5581aef375ff#1 0.66 -0.21 market&competitiveanalysis
+invoice-consulting_long 0:5581aef375ff#2 0.76 -0.21 market&competitiveanalysis
+invoice-consulting_long 0:957080ea09d9 0.59 -0.21 researchandanalysisreport
+invoice-consulting_long 0:957080ea09d9#1 0.69 -0.21 researchandanalysisreport
+invoice-consulting_long 0:957080ea09d9#2 0.79 -0.21 researchandanalysisreport
+invoice-consulting_long 0:47102c31f226 0.10 0.19 5–20may2025
+invoice-consulting_long 0:47102c31f226#1 0.20 0.19 5–20may2025
+invoice-consulting_long 0:47102c31f226#2 0.30 0.19 5–20may2025
+invoice-consulting_long 0:ec6305055be9 0.10 0.25 4,800.00
+invoice-consulting_long 0:ec6305055be9#1 0.10 0.29 4,800.00
+invoice-consulting_long 0:ec6305055be9#2 0.20 0.25 4,800.00
+invoice-consulting_long 0:ec6305055be9#3 0.20 0.29 4,800.00
+invoice-consulting_long 0:ec6305055be9#4 0.30 0.25 4,800.00
+invoice-consulting_long 0:ec6305055be9#5 0.30 0.29 4,800.00
+invoice-consulting_long 0:53dea97cf116 0.58 -0.21 digitalroadmapdevelopment
+invoice-consulting_long 0:53dea97cf116#1 0.68 -0.21 digitalroadmapdevelopment
+invoice-consulting_long 0:53dea97cf116#2 0.78 -0.21 digitalroadmapdevelopment
+invoice-consulting_long 0:acf357e68297 0.61 -0.21 strategyandroadmapcreation
+invoice-consulting_long 0:acf357e68297#1 0.71 -0.21 strategyandroadmapcreation
+invoice-consulting_long 0:acf357e68297#2 0.81 -0.21 strategyandroadmapcreation
+invoice-consulting_long 0:c947fb16eab2 0.12 0.21 15–22may2025
+invoice-consulting_long 0:c947fb16eab2#1 0.22 0.21 15–22may2025
+invoice-consulting_long 0:c947fb16eab2#2 0.32 0.21 15–22may2025
+invoice-consulting_long 0:017144e2271f 0.12 -0.08 6.00
+invoice-consulting_long 0:017144e2271f#1 0.22 -0.08 6.00
+invoice-consulting_long 0:017144e2271f#2 0.32 -0.08 6.00
+invoice-consulting_long 0:be6012a47af0 0.12 0.18 220.00
+invoice-consulting_long 0:be6012a47af0#1 0.22 0.18 220.00
+invoice-consulting_long 0:be6012a47af0#2 0.32 0.18 220.00
+invoice-consulting_long 0:172c0a785bc7 0.12 0.27 1,320.00
+invoice-consulting_long 0:172c0a785bc7#1 0.22 0.27 1,320.00
+invoice-consulting_long 0:172c0a785bc7#2 0.32 0.27 1,320.00
+invoice-consulting_long 0:fe04037aa850 0.60 -0.21 stakeholderreviewsessions
+invoice-consulting_long 0:fe04037aa850#1 0.70 -0.21 stakeholderreviewsessions
+invoice-consulting_long 0:fe04037aa850#2 0.80 -0.21 stakeholderreviewsessions
+invoice-consulting_long 0:4658a1bff292 0.63 -0.21 facilitationanddocumentation
+invoice-consulting_long 0:4658a1bff292#1 0.73 -0.21 facilitationanddocumentation
+invoice-consulting_long 0:4658a1bff292#2 0.83 -0.21 facilitationanddocumentation
+invoice-consulting_long 0:86f73207c794 0.14 0.23 20–25may2025
+invoice-consulting_long 0:86f73207c794#1 0.24 0.23 20–25may2025
+invoice-consulting_long 0:86f73207c794#2 0.34 0.23 20–25may2025
+invoice-consulting_long 0:55907ef405f6 0.14 0.22 1,880.00
+invoice-consulting_long 0:55907ef405f6#1 0.14 0.27 1,880.00
+invoice-consulting_long 0:55907ef405f6#2 0.24 0.22 1,880.00
+invoice-consulting_long 0:55907ef405f6#3 0.24 0.27 1,880.00
+invoice-consulting_long 0:55907ef405f6#4 0.34 0.22 1,880.00
+invoice-consulting_long 0:55907ef405f6#5 0.34 0.27 1,880.00
+invoice-consulting_long 0:f2e12ad6cc9f 0.62 -0.21 presentation&finalreport
+invoice-consulting_long 0:f2e12ad6cc9f#1 0.72 -0.21 presentation&finalreport
+invoice-consulting_long 0:f2e12ad6cc9f#2 0.82 -0.21 presentation&finalreport
+invoice-consulting_long 0:50de6dc61b80 0.65 -0.21 executivepresentationanddelivery
+invoice-consulting_long 0:50de6dc61b80#1 0.75 -0.21 executivepresentationanddelivery
+invoice-consulting_long 0:50de6dc61b80#2 0.85 -0.21 executivepresentationanddelivery
invoice-consulting_long 0:55ee5fe62c33 0.01 0.13 northpointconsultingptyltd|abn12
invoice-consulting_long 0:c843aa25b80f 0.01 0.29 page1/2
-invoice-consulting_long 1:c9046f7a37ad 0.48 -0.70 description
-invoice-consulting_long 1:b28225a1247c 0.48 -0.82 serviceperiod
-invoice-consulting_long 1:32e8369a9c4f 0.48 -0.35 qty
-invoice-consulting_long 1:d1062d072acd 0.47 -0.62 unitprice
-invoice-consulting_long 1:3ff0b4a2706b 0.49 -0.45 (aud)
-invoice-consulting_long 1:3ff0b4a2706b#1 0.49 -0.42 (aud)
-invoice-consulting_long 1:cf38d95c9c6b 0.47 -0.55 amount
-invoice-consulting_long 1:b344321f5471 0.57 0.16 1–10may2025
-invoice-consulting_long 1:b344321f5471#1 0.67 0.16 1–10may2025
-invoice-consulting_long 1:b344321f5471#2 0.77 0.16 1–10may2025
-invoice-consulting_long 1:a8994a9020c4 0.57 -0.09 10.00
-invoice-consulting_long 1:a8994a9020c4#1 0.67 -0.09 10.00
-invoice-consulting_long 1:a8994a9020c4#2 0.77 -0.09 10.00
-invoice-consulting_long 1:4e9682fa850e 0.58 -0.13 hrs
-invoice-consulting_long 1:4e9682fa850e#1 0.64 -0.13 hrs
-invoice-consulting_long 1:4e9682fa850e#2 0.68 -0.13 hrs
-invoice-consulting_long 1:4e9682fa850e#3 0.74 -0.13 hrs
-invoice-consulting_long 1:4e9682fa850e#4 0.78 -0.13 hrs
-invoice-consulting_long 1:aa92f0e23a97 0.57 0.18 250.00
-invoice-consulting_long 1:aa92f0e23a97#1 0.67 0.18 250.00
-invoice-consulting_long 1:aa92f0e23a97#2 0.77 0.18 250.00
-invoice-consulting_long 1:e48d9b7a2993 0.57 0.31 2,500.00
-invoice-consulting_long 1:e48d9b7a2993#1 0.67 0.31 2,500.00
-invoice-consulting_long 1:e48d9b7a2993#2 0.77 0.31 2,500.00
-invoice-consulting_long 1:1bcfde966d94 0.30 -0.21 strategicconsultation
-invoice-consulting_long 1:1bcfde966d94#1 0.40 -0.21 strategicconsultation
-invoice-consulting_long 1:1bcfde966d94#2 0.55 -0.21 strategicconsultation
-invoice-consulting_long 1:fd3ca268f319 0.33 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 1:fd3ca268f319#1 0.43 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 1:fd3ca268f319#2 0.58 -0.21 leadershipalignmentworkshops
-invoice-consulting_long 1:8d93e0c47a8c 0.59 0.16 1–15may2025
-invoice-consulting_long 1:8d93e0c47a8c#1 0.69 0.16 1–15may2025
-invoice-consulting_long 1:cf9dcf6da8a8 0.59 -0.07 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#1 0.61 -0.07 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#2 0.65 -0.07 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#3 0.69 -0.07 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#4 0.71 -0.07 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#5 0.75 -0.07 1.00
-invoice-consulting_long 1:97e47b250054 0.59 0.27 3,500.00
-invoice-consulting_long 1:97e47b250054#1 0.59 0.32 3,500.00
-invoice-consulting_long 1:97e47b250054#2 0.69 0.27 3,500.00
-invoice-consulting_long 1:97e47b250054#3 0.69 0.32 3,500.00
-invoice-consulting_long 1:5581aef375ff 0.32 -0.21 market&competitiveanalysis
-invoice-consulting_long 1:5581aef375ff#1 0.42 -0.21 market&competitiveanalysis
-invoice-consulting_long 1:957080ea09d9 0.35 -0.21 researchandanalysisreport
-invoice-consulting_long 1:957080ea09d9#1 0.45 -0.21 researchandanalysisreport
-invoice-consulting_long 1:47102c31f226 0.61 0.19 5–20may2025
-invoice-consulting_long 1:47102c31f226#1 0.71 0.19 5–20may2025
-invoice-consulting_long 1:ec6305055be9 0.61 0.25 4,800.00
-invoice-consulting_long 1:ec6305055be9#1 0.61 0.29 4,800.00
-invoice-consulting_long 1:ec6305055be9#2 0.71 0.25 4,800.00
-invoice-consulting_long 1:ec6305055be9#3 0.71 0.29 4,800.00
-invoice-consulting_long 1:53dea97cf116 0.34 -0.21 digitalroadmapdevelopment
-invoice-consulting_long 1:53dea97cf116#1 0.44 -0.21 digitalroadmapdevelopment
-invoice-consulting_long 1:acf357e68297 0.37 -0.21 strategyandroadmapcreation
-invoice-consulting_long 1:acf357e68297#1 0.47 -0.21 strategyandroadmapcreation
-invoice-consulting_long 1:c947fb16eab2 0.63 0.21 15–22may2025
-invoice-consulting_long 1:c947fb16eab2#1 0.73 0.21 15–22may2025
-invoice-consulting_long 1:017144e2271f 0.63 -0.08 6.00
-invoice-consulting_long 1:017144e2271f#1 0.73 -0.08 6.00
-invoice-consulting_long 1:be6012a47af0 0.63 0.18 220.00
-invoice-consulting_long 1:be6012a47af0#1 0.73 0.18 220.00
-invoice-consulting_long 1:172c0a785bc7 0.63 0.27 1,320.00
-invoice-consulting_long 1:172c0a785bc7#1 0.73 0.27 1,320.00
-invoice-consulting_long 1:fe04037aa850 0.36 -0.21 stakeholderreviewsessions
-invoice-consulting_long 1:fe04037aa850#1 0.46 -0.21 stakeholderreviewsessions
-invoice-consulting_long 1:4658a1bff292 0.39 -0.21 facilitationanddocumentation
-invoice-consulting_long 1:4658a1bff292#1 0.49 -0.21 facilitationanddocumentation
-invoice-consulting_long 1:86f73207c794 0.65 0.23 20–25may2025
-invoice-consulting_long 1:86f73207c794#1 0.75 0.23 20–25may2025
-invoice-consulting_long 1:55907ef405f6 0.65 0.22 1,880.00
-invoice-consulting_long 1:55907ef405f6#1 0.65 0.27 1,880.00
-invoice-consulting_long 1:55907ef405f6#2 0.75 0.22 1,880.00
-invoice-consulting_long 1:55907ef405f6#3 0.75 0.27 1,880.00
-invoice-consulting_long 1:f2e12ad6cc9f 0.38 -0.21 presentation&finalreport
-invoice-consulting_long 1:f2e12ad6cc9f#1 0.48 -0.21 presentation&finalreport
-invoice-consulting_long 1:50de6dc61b80 0.41 -0.21 executivepresentationanddelivery
-invoice-consulting_long 1:50de6dc61b80#1 0.51 -0.21 executivepresentationanddelivery
-invoice-consulting_long 1:d6577e95efba -0.28 0.12 subtotal
-invoice-consulting_long 1:6311b1798398 0.06 0.63 14,000.00
-invoice-consulting_long 1:e370855bde0c -0.28 0.12 gst(10%)
-invoice-consulting_long 1:b87e26fb8fac 0.06 0.57 1,400.00
-invoice-consulting_long 1:713a1893d967 -1.04 0.12 totaldue(aud)
-invoice-consulting_long 1:d4464a725927 -0.07 1.03 15,400.00
-invoice-consulting_long 1:13000a5d442c 0.19 0.10 paymentinformation
-invoice-consulting_long 1:944d398aea60 0.84 0.10 bankname:
-invoice-consulting_long 1:97fa113746b9 0.84 0.10 examplebank
-invoice-consulting_long 1:0ecb5847ffa7 0.84 0.10 accountname:
-invoice-consulting_long 1:b5dd15368c26 0.84 0.10 northpointconsultingptyltd
-invoice-consulting_long 1:6bbca23a71e6 0.84 0.10 bsb:
-invoice-consulting_long 1:83a417f0862b 0.84 0.10 123-456
-invoice-consulting_long 1:6b4894c28363 0.84 0.10 accountnumber:
-invoice-consulting_long 1:ef797c8118f0 0.84 0.10 12345678
-invoice-consulting_long 1:c608665436db 0.84 0.10 reference:
-invoice-consulting_long 1:7d66eb3c1070 0.84 0.10 inv-2025-0478
-invoice-consulting_long 1:010450dee1ff 0.35 0.10 pleaseensuretheinvoicenumberisin
-invoice-consulting_long 1:ab5aa97074c4 0.19 0.12 notes
-invoice-consulting_long 1:7c6ab37d83ef 0.35 0.12 thankyouforyourbusiness.
-invoice-consulting_long 1:4a699e29a3bb 0.36 0.12 ifyouhaveanyquestionsregardingth
-invoice-consulting_long 1:c766251af1f4 0.37 0.12 contactusataccounts@northpoint.c
-invoice-consulting_long 1:3d32fa219332 0.38 0.12 +61398765432.
-invoice-consulting_long 1:a6f6e2ddab6d 0.80 0.12 paymentisduewithin30daysfromthei
+invoice-consulting_long 1:c9046f7a37ad -0.07 -0.70 description
+invoice-consulting_long 1:b28225a1247c -0.07 -0.82 serviceperiod
+invoice-consulting_long 1:32e8369a9c4f -0.07 -0.35 qty
+invoice-consulting_long 1:d1062d072acd -0.08 -0.62 unitprice
+invoice-consulting_long 1:3ff0b4a2706b -0.06 -0.45 (aud)
+invoice-consulting_long 1:3ff0b4a2706b#1 -0.06 -0.42 (aud)
+invoice-consulting_long 1:cf38d95c9c6b -0.08 -0.55 amount
+invoice-consulting_long 1:b344321f5471 -0.23 0.16 1–10may2025
+invoice-consulting_long 1:b344321f5471#1 -0.13 0.16 1–10may2025
+invoice-consulting_long 1:b344321f5471#2 -0.03 0.16 1–10may2025
+invoice-consulting_long 1:a8994a9020c4 -0.23 -0.09 10.00
+invoice-consulting_long 1:a8994a9020c4#1 -0.13 -0.09 10.00
+invoice-consulting_long 1:a8994a9020c4#2 -0.03 -0.09 10.00
+invoice-consulting_long 1:4e9682fa850e -0.22 -0.13 hrs
+invoice-consulting_long 1:4e9682fa850e#1 -0.16 -0.13 hrs
+invoice-consulting_long 1:4e9682fa850e#2 -0.12 -0.13 hrs
+invoice-consulting_long 1:4e9682fa850e#3 -0.06 -0.13 hrs
+invoice-consulting_long 1:4e9682fa850e#4 -0.02 -0.13 hrs
+invoice-consulting_long 1:aa92f0e23a97 -0.23 0.18 250.00
+invoice-consulting_long 1:aa92f0e23a97#1 -0.13 0.18 250.00
+invoice-consulting_long 1:aa92f0e23a97#2 -0.03 0.18 250.00
+invoice-consulting_long 1:e48d9b7a2993 -0.23 0.31 2,500.00
+invoice-consulting_long 1:e48d9b7a2993#1 -0.13 0.31 2,500.00
+invoice-consulting_long 1:e48d9b7a2993#2 -0.03 0.31 2,500.00
+invoice-consulting_long 1:1bcfde966d94 0.25 -0.21 strategicconsultation
+invoice-consulting_long 1:1bcfde966d94#1 0.35 -0.21 strategicconsultation
+invoice-consulting_long 1:1bcfde966d94#2 0.45 -0.21 strategicconsultation
+invoice-consulting_long 1:fd3ca268f319 0.28 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 1:fd3ca268f319#1 0.38 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 1:fd3ca268f319#2 0.48 -0.21 leadershipalignmentworkshops
+invoice-consulting_long 1:8d93e0c47a8c -0.21 0.16 1–15may2025
+invoice-consulting_long 1:8d93e0c47a8c#1 -0.11 0.16 1–15may2025
+invoice-consulting_long 1:cf9dcf6da8a8 -0.21 -0.07 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#1 -0.19 -0.07 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#2 -0.15 -0.07 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#3 -0.11 -0.07 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#4 -0.09 -0.07 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#5 -0.05 -0.07 1.00
+invoice-consulting_long 1:97e47b250054 -0.21 0.27 3,500.00
+invoice-consulting_long 1:97e47b250054#1 -0.21 0.32 3,500.00
+invoice-consulting_long 1:97e47b250054#2 -0.11 0.27 3,500.00
+invoice-consulting_long 1:97e47b250054#3 -0.11 0.32 3,500.00
+invoice-consulting_long 1:5581aef375ff 0.27 -0.21 market&competitiveanalysis
+invoice-consulting_long 1:5581aef375ff#1 0.37 -0.21 market&competitiveanalysis
+invoice-consulting_long 1:957080ea09d9 0.30 -0.21 researchandanalysisreport
+invoice-consulting_long 1:957080ea09d9#1 0.40 -0.21 researchandanalysisreport
+invoice-consulting_long 1:47102c31f226 -0.19 0.19 5–20may2025
+invoice-consulting_long 1:47102c31f226#1 -0.09 0.19 5–20may2025
+invoice-consulting_long 1:ec6305055be9 -0.19 0.25 4,800.00
+invoice-consulting_long 1:ec6305055be9#1 -0.19 0.29 4,800.00
+invoice-consulting_long 1:ec6305055be9#2 -0.09 0.25 4,800.00
+invoice-consulting_long 1:ec6305055be9#3 -0.09 0.29 4,800.00
+invoice-consulting_long 1:53dea97cf116 0.29 -0.21 digitalroadmapdevelopment
+invoice-consulting_long 1:53dea97cf116#1 0.39 -0.21 digitalroadmapdevelopment
+invoice-consulting_long 1:acf357e68297 0.32 -0.21 strategyandroadmapcreation
+invoice-consulting_long 1:acf357e68297#1 0.42 -0.21 strategyandroadmapcreation
+invoice-consulting_long 1:c947fb16eab2 -0.17 0.21 15–22may2025
+invoice-consulting_long 1:c947fb16eab2#1 -0.07 0.21 15–22may2025
+invoice-consulting_long 1:017144e2271f -0.17 -0.08 6.00
+invoice-consulting_long 1:017144e2271f#1 -0.07 -0.08 6.00
+invoice-consulting_long 1:be6012a47af0 -0.17 0.18 220.00
+invoice-consulting_long 1:be6012a47af0#1 -0.07 0.18 220.00
+invoice-consulting_long 1:172c0a785bc7 -0.17 0.27 1,320.00
+invoice-consulting_long 1:172c0a785bc7#1 -0.07 0.27 1,320.00
+invoice-consulting_long 1:fe04037aa850 0.31 -0.21 stakeholderreviewsessions
+invoice-consulting_long 1:fe04037aa850#1 0.41 -0.21 stakeholderreviewsessions
+invoice-consulting_long 1:4658a1bff292 0.34 -0.21 facilitationanddocumentation
+invoice-consulting_long 1:4658a1bff292#1 0.44 -0.21 facilitationanddocumentation
+invoice-consulting_long 1:86f73207c794 -0.15 0.23 20–25may2025
+invoice-consulting_long 1:86f73207c794#1 -0.05 0.23 20–25may2025
+invoice-consulting_long 1:55907ef405f6 -0.15 0.22 1,880.00
+invoice-consulting_long 1:55907ef405f6#1 -0.15 0.27 1,880.00
+invoice-consulting_long 1:55907ef405f6#2 -0.05 0.22 1,880.00
+invoice-consulting_long 1:55907ef405f6#3 -0.05 0.27 1,880.00
+invoice-consulting_long 1:f2e12ad6cc9f 0.33 -0.21 presentation&finalreport
+invoice-consulting_long 1:f2e12ad6cc9f#1 0.43 -0.21 presentation&finalreport
+invoice-consulting_long 1:50de6dc61b80 0.36 -0.21 executivepresentationanddelivery
+invoice-consulting_long 1:50de6dc61b80#1 0.46 -0.21 executivepresentationanddelivery
+invoice-consulting_long 1:d6577e95efba -0.33 0.12 subtotal
+invoice-consulting_long 1:6311b1798398 0.01 0.63 14,000.00
+invoice-consulting_long 1:e370855bde0c -0.33 0.12 gst(10%)
+invoice-consulting_long 1:b87e26fb8fac 0.01 0.57 1,400.00
+invoice-consulting_long 1:713a1893d967 -1.09 0.12 totaldue(aud)
+invoice-consulting_long 1:d4464a725927 -0.12 1.03 15,400.00
+invoice-consulting_long 1:13000a5d442c 0.14 0.10 paymentinformation
+invoice-consulting_long 1:944d398aea60 0.79 0.10 bankname:
+invoice-consulting_long 1:97fa113746b9 0.79 0.10 examplebank
+invoice-consulting_long 1:0ecb5847ffa7 0.79 0.10 accountname:
+invoice-consulting_long 1:b5dd15368c26 0.79 0.10 northpointconsultingptyltd
+invoice-consulting_long 1:6bbca23a71e6 0.79 0.10 bsb:
+invoice-consulting_long 1:83a417f0862b 0.79 0.10 123-456
+invoice-consulting_long 1:6b4894c28363 0.79 0.10 accountnumber:
+invoice-consulting_long 1:ef797c8118f0 0.79 0.10 12345678
+invoice-consulting_long 1:c608665436db 0.79 0.10 reference:
+invoice-consulting_long 1:7d66eb3c1070 0.79 0.10 inv-2025-0478
+invoice-consulting_long 1:010450dee1ff 0.30 0.10 pleaseensuretheinvoicenumberisin
+invoice-consulting_long 1:ab5aa97074c4 0.14 0.12 notes
+invoice-consulting_long 1:7c6ab37d83ef 0.30 0.12 thankyouforyourbusiness.
+invoice-consulting_long 1:4a699e29a3bb 0.31 0.12 ifyouhaveanyquestionsregardingth
+invoice-consulting_long 1:c766251af1f4 0.32 0.12 contactusataccounts@northpoint.c
+invoice-consulting_long 1:3d32fa219332 0.33 0.12 +61398765432.
+invoice-consulting_long 1:a6f6e2ddab6d 0.75 0.12 paymentisduewithin30daysfromthei
invoice-consulting_long 1:55ee5fe62c33 0.01 0.13 northpointconsultingptyltd|abn12
invoice-consulting_long 1:1bed6052d9b3 0.01 0.29 page2/2
invoice-luma_studio 0:ac5742bfd7c4 -9.14 0.11 &co.
@@ -2332,9 +2332,9 @@ invoice-luma_studio 0:ab5aa97074c4 -0.07 0.08 notes
invoice-luma_studio 0:7c6ab37d83ef -0.39 0.08 thankyouforyourbusiness.
invoice-luma_studio 0:3d717dfb25d8 -0.43 0.08 ifyouhaveanyquestionsregarding
invoice-luma_studio 0:479a74142336 -0.48 0.08 thisinvoice,pleasegetintouch.
-invoice-luma_studio 0:1960744391ed -0.52 0.08 allworkremainstheintellectualpro
-invoice-luma_studio 0:eeb53247f32c -0.56 0.08 ofluma&co.studiountilpayment
-invoice-luma_studio 0:9eef22d7d34e -0.61 0.08 hasbeenreceivedinfull.
+invoice-luma_studio 0:1960744391ed -0.37 0.08 allworkremainstheintellectualpro
+invoice-luma_studio 0:eeb53247f32c -0.41 0.08 ofluma&co.studiountilpayment
+invoice-luma_studio 0:9eef22d7d34e -0.46 0.08 hasbeenreceivedinfull.
invoice-luma_studio 0:3c7ade679fdf -0.07 0.00 paymentdetails
invoice-luma_studio 0:b1819c9cd5bf -0.34 0.00 pleasemakepaymentbybanktransfert
invoice-luma_studio 0:8c1e4a24f6a8 -0.30 0.00 luma&co.studioltd
@@ -2524,9 +2524,9 @@ invoice-luma_studio_long 2:ab5aa97074c4 0.17 0.08 notes
invoice-luma_studio_long 2:7c6ab37d83ef -0.15 0.08 thankyouforyourbusiness.
invoice-luma_studio_long 2:3d717dfb25d8 -0.20 0.08 ifyouhaveanyquestionsregarding
invoice-luma_studio_long 2:479a74142336 -0.24 0.08 thisinvoice,pleasegetintouch.
-invoice-luma_studio_long 2:1960744391ed -0.28 0.08 allworkremainstheintellectualpro
-invoice-luma_studio_long 2:eeb53247f32c -0.33 0.08 ofluma&co.studiountilpayment
-invoice-luma_studio_long 2:9eef22d7d34e -0.37 0.08 hasbeenreceivedinfull.
+invoice-luma_studio_long 2:1960744391ed -0.13 0.08 allworkremainstheintellectualpro
+invoice-luma_studio_long 2:eeb53247f32c -0.18 0.08 ofluma&co.studiountilpayment
+invoice-luma_studio_long 2:9eef22d7d34e -0.22 0.08 hasbeenreceivedinfull.
invoice-luma_studio_long 2:3c7ade679fdf 0.17 0.00 paymentdetails
invoice-luma_studio_long 2:b1819c9cd5bf -0.10 0.00 pleasemakepaymentbybanktransfert
invoice-luma_studio_long 2:8c1e4a24f6a8 -0.06 0.00 luma&co.studioltd
@@ -2546,23 +2546,23 @@ invoice-luma_studio_long 2:bc6d215b63ee 0.01 1.24 page3of3
invoice-merchant 0:0dffa3b5d008 -0.01 0.10 coastline
invoice-merchant 0:52d6e3de4fa0 0.08 0.85 invoice
invoice-merchant 0:9422e2aeb800 0.08 0.08 coastlinecommerceinc.
-invoice-merchant 0:9422e2aeb800#1 0.10 0.53 coastlinecommerceinc.
+invoice-merchant 0:9422e2aeb800#1 0.05 0.53 coastlinecommerceinc.
invoice-merchant 0:8bb83c0c3efb 0.10 0.08 150elginstreet,8thfloor
invoice-merchant 0:cf0df3462e70 0.09 0.08 ottawa,onk2p1l4
invoice-merchant 0:408c7c5887a0 0.09 0.08 canada
invoice-merchant 0:0d9b94d29fc9 0.01 0.27 www.coastline.example
invoice-merchant 0:76957649b8a8 -0.02 0.27 billing@coastline.example
-invoice-merchant 0:76957649b8a8#1 0.13 0.53 billing@coastline.example
+invoice-merchant 0:76957649b8a8#1 0.08 0.53 billing@coastline.example
invoice-merchant 0:0b44bf19dd44 -0.05 0.27 +1613-555-0142
invoice-merchant 0:884004f21362 -0.03 0.08 vatid:ca8139020285rt0001
invoice-merchant 0:6282391a4cc1 0.23 0.09 invoicenumber:
invoice-merchant 0:a6e01b979f55 0.23 0.08 inv-2026-000789
-invoice-merchant 0:a6e01b979f55#1 0.13 0.53 inv-2026-000789
+invoice-merchant 0:a6e01b979f55#1 0.08 0.53 inv-2026-000789
invoice-merchant 0:8d05f5d55191 0.20 0.09 invoicedate:
invoice-merchant 0:dc9696f61d36 0.20 0.08 27may2026
invoice-merchant 0:0e0fb0fc0939 0.18 0.09 duedate:
invoice-merchant 0:93059e9a1c07 0.18 0.08 26june2026
-invoice-merchant 0:93059e9a1c07#1 0.40 0.03 26june2026
+invoice-merchant 0:93059e9a1c07#1 0.35 0.03 26june2026
invoice-merchant 0:d39366fa1423 0.16 0.09 billingperiod:
invoice-merchant 0:ec215645f61e 0.16 0.08 01may2026–31may2026
invoice-merchant 0:18e2cca1098e 0.14 0.09 paymentterms:
@@ -2586,53 +2586,53 @@ invoice-merchant 0:169240d91658 0.06 -0.05 plan/service
invoice-merchant 0:32e8369a9c4f 0.06 0.05 qty
invoice-merchant 0:e2a9c81da5f6 0.06 -0.13 unitprice(usd)
invoice-merchant 0:5dfb966b2bcf 0.06 -0.06 amount(usd)
-invoice-merchant 0:fe6b34582738 0.07 0.07 coastlineadvanced
-invoice-merchant 0:46f3b0cea3bc 0.03 0.07 monthlysubscription
-invoice-merchant 0:71738eb7126d 0.04 0.01 advancedplan
-invoice-merchant 0:7b969356782c 0.04 -0.25 399.00
-invoice-merchant 0:7b969356782c#1 0.04 -0.25 399.00
-invoice-merchant 0:0a9acaea6477 0.06 0.07 paymentprocessing
-invoice-merchant 0:91809142f08f 0.01 0.07 transactionfee
-invoice-merchant 0:358a7392afe6 0.02 0.04 asperusage
-invoice-merchant 0:561b2814d3c0 0.02 -0.12 0.00
-invoice-merchant 0:561b2814d3c0#1 0.02 -0.13 0.00
-invoice-merchant 0:561b2814d3c0#2 -0.16 -0.12 0.00
-invoice-merchant 0:561b2814d3c0#3 -0.16 -0.13 0.00
-invoice-merchant 0:561b2814d3c0#4 0.19 0.67 0.00
-invoice-merchant 0:3f9fea8c0fc5 0.04 0.07 additionalstaffaccounts
-invoice-merchant 0:fbf7948d004d 0.00 0.07 staffaccount
-invoice-merchant 0:7b476727faf3 0.01 -0.31 additional
-invoice-merchant 0:0856fec27d23 0.01 -0.21 15.00
-invoice-merchant 0:bc7a1ad05efc 0.01 -0.22 45.00
-invoice-merchant 0:0036ebf2cfb2 -0.12 0.07 prioritysupport
-invoice-merchant 0:6bfa3f8e9308 -0.17 0.07 24/7support
-invoice-merchant 0:7f0f70e643bc -0.16 -0.26 included
-invoice-merchant 0:3c7ade679fdf 0.08 0.51 paymentdetails
-invoice-merchant 0:944d398aea60 0.10 0.55 bankname:
-invoice-merchant 0:d6c3cea2e943 0.10 0.53 harbourbankofcanada
-invoice-merchant 0:0ecb5847ffa7 0.10 0.55 accountname:
-invoice-merchant 0:6b4894c28363 0.11 0.55 accountnumber:
-invoice-merchant 0:ca2ea6319cc8 0.11 0.53 1001-4267-153
-invoice-merchant 0:555043320c0c 0.11 0.55 swiftcode:
-invoice-merchant 0:922f5f70c123 0.11 0.53 hrbrcat2
-invoice-merchant 0:f1b1597830d6 0.11 0.55 institutionnumber:
-invoice-merchant 0:88c0413bfef1 0.11 0.53 003
-invoice-merchant 0:e47c9313aced 0.12 0.55 transitnumber:
-invoice-merchant 0:fec334e6bf8c 0.12 0.53 00016
-invoice-merchant 0:4f657c67e41a 0.12 0.55 accounttype:
-invoice-merchant 0:b8b8acdf702e 0.12 0.53 cadaccount
-invoice-merchant 0:fa0fbe194b51 0.13 0.55 remittanceemail:
-invoice-merchant 0:c608665436db 0.13 0.55 reference:
-invoice-merchant 0:1b0fdc20ced4 0.06 0.55 pleaseincludetheinvoicenumber
-invoice-merchant 0:cfdf1faf410b 0.04 0.55 inyourpaymentreference.
-invoice-merchant 0:d6577e95efba 0.09 0.10 subtotal
-invoice-merchant 0:30d16b02fd3e 0.16 0.93 444.00
-invoice-merchant 0:2ee4d3de4ddf 0.11 0.10 tax(0%)
-invoice-merchant 0:57a66d21eb1b 0.24 0.10 totaldue
-invoice-merchant 0:a4dfc8dd0535 0.31 0.90 usd444.00
-invoice-merchant 0:b0553f008513 0.42 0.03 paymentdueby
-invoice-merchant 0:a416c258bdd9 -0.15 0.02 thankyouforchoosingcoastline.
-invoice-merchant 0:aaa4b5e2074f -0.18 0.02 ifyouhaveanyquestionsaboutthisin
+invoice-merchant 0:fe6b34582738 0.02 0.07 coastlineadvanced
+invoice-merchant 0:46f3b0cea3bc -0.02 0.07 monthlysubscription
+invoice-merchant 0:71738eb7126d -0.01 0.01 advancedplan
+invoice-merchant 0:7b969356782c -0.01 -0.25 399.00
+invoice-merchant 0:7b969356782c#1 -0.01 -0.25 399.00
+invoice-merchant 0:0a9acaea6477 0.01 0.07 paymentprocessing
+invoice-merchant 0:91809142f08f -0.04 0.07 transactionfee
+invoice-merchant 0:358a7392afe6 -0.03 0.04 asperusage
+invoice-merchant 0:561b2814d3c0 -0.03 -0.12 0.00
+invoice-merchant 0:561b2814d3c0#1 -0.03 -0.13 0.00
+invoice-merchant 0:561b2814d3c0#2 -0.21 -0.12 0.00
+invoice-merchant 0:561b2814d3c0#3 -0.21 -0.13 0.00
+invoice-merchant 0:561b2814d3c0#4 0.14 0.67 0.00
+invoice-merchant 0:3f9fea8c0fc5 -0.01 0.07 additionalstaffaccounts
+invoice-merchant 0:fbf7948d004d -0.05 0.07 staffaccount
+invoice-merchant 0:7b476727faf3 -0.04 -0.31 additional
+invoice-merchant 0:0856fec27d23 -0.04 -0.21 15.00
+invoice-merchant 0:bc7a1ad05efc -0.04 -0.22 45.00
+invoice-merchant 0:0036ebf2cfb2 -0.17 0.07 prioritysupport
+invoice-merchant 0:6bfa3f8e9308 -0.22 0.07 24/7support
+invoice-merchant 0:7f0f70e643bc -0.21 -0.26 included
+invoice-merchant 0:3c7ade679fdf 0.03 0.51 paymentdetails
+invoice-merchant 0:944d398aea60 0.05 0.55 bankname:
+invoice-merchant 0:d6c3cea2e943 0.05 0.53 harbourbankofcanada
+invoice-merchant 0:0ecb5847ffa7 0.05 0.55 accountname:
+invoice-merchant 0:6b4894c28363 0.06 0.55 accountnumber:
+invoice-merchant 0:ca2ea6319cc8 0.06 0.53 1001-4267-153
+invoice-merchant 0:555043320c0c 0.06 0.55 swiftcode:
+invoice-merchant 0:922f5f70c123 0.06 0.53 hrbrcat2
+invoice-merchant 0:f1b1597830d6 0.06 0.55 institutionnumber:
+invoice-merchant 0:88c0413bfef1 0.06 0.53 003
+invoice-merchant 0:e47c9313aced 0.07 0.55 transitnumber:
+invoice-merchant 0:fec334e6bf8c 0.07 0.53 00016
+invoice-merchant 0:4f657c67e41a 0.07 0.55 accounttype:
+invoice-merchant 0:b8b8acdf702e 0.07 0.53 cadaccount
+invoice-merchant 0:fa0fbe194b51 0.08 0.55 remittanceemail:
+invoice-merchant 0:c608665436db 0.08 0.55 reference:
+invoice-merchant 0:1b0fdc20ced4 0.01 0.55 pleaseincludetheinvoicenumber
+invoice-merchant 0:cfdf1faf410b -0.01 0.55 inyourpaymentreference.
+invoice-merchant 0:d6577e95efba 0.04 0.10 subtotal
+invoice-merchant 0:30d16b02fd3e 0.11 0.93 444.00
+invoice-merchant 0:2ee4d3de4ddf 0.06 0.10 tax(0%)
+invoice-merchant 0:57a66d21eb1b 0.19 0.10 totaldue
+invoice-merchant 0:a4dfc8dd0535 0.26 0.90 usd444.00
+invoice-merchant 0:b0553f008513 0.37 0.03 paymentdueby
+invoice-merchant 0:a416c258bdd9 -0.20 0.02 thankyouforchoosingcoastline.
+invoice-merchant 0:aaa4b5e2074f -0.23 0.02 ifyouhaveanyquestionsaboutthisin
invoice-metered 0:8a80987c409a 0.23 0.12 northwindcloud
invoice-metered 0:52d6e3de4fa0 0.20 0.26 invoice
invoice-metered 0:41305d2c2d3b -0.19 0.12 northwindcloudservicesltd.
@@ -2750,42 +2750,42 @@ invoice-modern 0:00a97da4e243 -0.15 0.11 manchester,uk
invoice-modern 0:62fcfa8745fc -0.17 0.11 ap@northwind.example
invoice-modern 0:2081a41a7764 -0.20 0.11 +441615552200
invoice-modern 0:5a6e7135d21b -0.22 0.11 taxidnw-2026-01
-invoice-modern 0:c9046f7a37ad 0.00 -0.20 description
-invoice-modern 0:32e8369a9c4f 0.00 0.76 qty
-invoice-modern 0:385cfdbc00ec 0.00 0.76 unit
-invoice-modern 0:cf38d95c9c6b 0.00 0.76 amount
-invoice-modern 0:987c6297d0a9 0.07 -0.20 discoveryworkshop
-invoice-modern 0:532674c6eb89 0.07 0.76 gbp1,450
-invoice-modern 0:532674c6eb89#1 0.07 0.76 gbp1,450
-invoice-modern 0:08ec6deb1c40 0.07 -0.20 templatearchitecture2
-invoice-modern 0:d2e67c4b1cca 0.07 0.76 gbp980
-invoice-modern 0:d6cdf6a05754 0.07 0.76 gbp1,960
-invoice-modern 0:fe13f8ee4f99 0.07 -0.20 renderqa
-invoice-modern 0:7e7398cbff7c 0.07 0.76 gbp320
-invoice-modern 0:e23164e940c7 0.07 0.76 gbp960
-invoice-modern 0:6047df51175c 0.07 -0.20 developerenablement1
-invoice-modern 0:c2ad01ea64ae 0.07 0.76 gbp780
-invoice-modern 0:c2ad01ea64ae#1 0.07 0.76 gbp780
-invoice-modern 0:d6577e95efba 0.07 0.76 subtotal
-invoice-modern 0:50cae0510231 0.07 0.76 gbp5,150
-invoice-modern 0:a52611c9261b 0.07 0.76 vat(20%)
-invoice-modern 0:d7f4425b8b16 0.07 0.76 gbp1,030
-invoice-modern 0:11239872d178 -0.02 0.76 total
-invoice-modern 0:45a5ad5ad430 -0.02 0.76 gbp6,180
-invoice-modern 0:ab5aa97074c4 -0.05 0.10 notes
-invoice-modern 0:b78eb53cbd11 0.02 0.10 •pleaseincludetheinvoicenumberon
-invoice-modern 0:8c8fd62f15a7 0.02 0.12 yourremittanceadvice.
-invoice-modern 0:0c98130c526f 0.02 0.10 •allworkwasdeliveredasagreed
-invoice-modern 0:2e9787ed79bf 0.02 0.12 duringtheaprilimplementation
-invoice-modern 0:e41212011d98 0.02 0.12 window.
-invoice-modern 0:fb854bac39c8 -0.05 0.11 paymentterms
-invoice-modern 0:24274f39b50b 0.02 0.11 •paymentduewithin14calendardays.
-invoice-modern 0:c438440ba377 0.02 0.11 •banktransferpreferred;contact
-invoice-modern 0:434cc906ae90 0.02 0.14 billing@graphcompose.devfor
-invoice-modern 0:8822ea375315 0.02 0.14 remittancedetails.
-invoice-modern 0:1a7b5c840e25 0.02 0.11 •latepaymentsmaydelayadditional
-invoice-modern 0:1631a06d245f 0.02 0.14 templatecustomizationwork.
-invoice-modern 0:e3337beaa171 -0.20 0.10 thankyouforchoosinggraphcomposef
+invoice-modern 0:c9046f7a37ad -0.10 -0.20 description
+invoice-modern 0:32e8369a9c4f -0.10 0.76 qty
+invoice-modern 0:385cfdbc00ec -0.10 0.76 unit
+invoice-modern 0:cf38d95c9c6b -0.10 0.76 amount
+invoice-modern 0:987c6297d0a9 -0.13 -0.20 discoveryworkshop
+invoice-modern 0:532674c6eb89 -0.13 0.76 gbp1,450
+invoice-modern 0:532674c6eb89#1 -0.13 0.76 gbp1,450
+invoice-modern 0:08ec6deb1c40 -0.13 -0.20 templatearchitecture2
+invoice-modern 0:d2e67c4b1cca -0.13 0.76 gbp980
+invoice-modern 0:d6cdf6a05754 -0.13 0.76 gbp1,960
+invoice-modern 0:fe13f8ee4f99 -0.13 -0.20 renderqa
+invoice-modern 0:7e7398cbff7c -0.13 0.76 gbp320
+invoice-modern 0:e23164e940c7 -0.13 0.76 gbp960
+invoice-modern 0:6047df51175c -0.13 -0.20 developerenablement1
+invoice-modern 0:c2ad01ea64ae -0.13 0.76 gbp780
+invoice-modern 0:c2ad01ea64ae#1 -0.13 0.76 gbp780
+invoice-modern 0:d6577e95efba -0.13 0.76 subtotal
+invoice-modern 0:50cae0510231 -0.13 0.76 gbp5,150
+invoice-modern 0:a52611c9261b -0.13 0.76 vat(20%)
+invoice-modern 0:d7f4425b8b16 -0.13 0.76 gbp1,030
+invoice-modern 0:11239872d178 -0.12 0.76 total
+invoice-modern 0:45a5ad5ad430 -0.12 0.76 gbp6,180
+invoice-modern 0:ab5aa97074c4 0.00 0.10 notes
+invoice-modern 0:b78eb53cbd11 0.07 0.10 •pleaseincludetheinvoicenumberon
+invoice-modern 0:8c8fd62f15a7 0.07 0.12 yourremittanceadvice.
+invoice-modern 0:0c98130c526f 0.07 0.10 •allworkwasdeliveredasagreed
+invoice-modern 0:2e9787ed79bf 0.07 0.12 duringtheaprilimplementation
+invoice-modern 0:e41212011d98 0.07 0.12 window.
+invoice-modern 0:fb854bac39c8 0.00 0.11 paymentterms
+invoice-modern 0:24274f39b50b 0.07 0.11 •paymentduewithin14calendardays.
+invoice-modern 0:c438440ba377 0.07 0.11 •banktransferpreferred;contact
+invoice-modern 0:434cc906ae90 0.07 0.14 billing@graphcompose.devfor
+invoice-modern 0:8822ea375315 0.07 0.14 remittancedetails.
+invoice-modern 0:1a7b5c840e25 0.07 0.11 •latepaymentsmaydelayadditional
+invoice-modern 0:1631a06d245f 0.07 0.14 templatecustomizationwork.
+invoice-modern 0:e3337beaa171 -0.15 0.10 thankyouforchoosinggraphcomposef
invoice-modern_long 0:52d6e3de4fa0 0.00 0.10 invoice
invoice-modern_long 0:61a964e78950 0.00 0.10 invoicegc-2026-042issued04may202
invoice-modern_long 0:62a2fed3d6e0 0.00 0.10 pending
@@ -2803,151 +2803,151 @@ invoice-modern_long 0:91eefd794f79 -0.12 0.11 410marketavenue
invoice-modern_long 0:00a97da4e243 -0.15 0.11 manchester,uk
invoice-modern_long 0:62fcfa8745fc -0.17 0.11 ap@northwind.example
invoice-modern_long 0:2081a41a7764 -0.20 0.11 +441615552200
-invoice-modern_long 0:c9046f7a37ad 0.03 -0.20 description
-invoice-modern_long 0:32e8369a9c4f 0.03 0.75 qty
-invoice-modern_long 0:385cfdbc00ec 0.03 0.80 unit
-invoice-modern_long 0:cf38d95c9c6b 0.03 0.75 amount
-invoice-modern_long 0:aa29f2f4fcb4 0.10 -0.20 discoveryworkshop—sprint1
-invoice-modern_long 0:ce4081aef7a1 0.10 0.80 gbp180
-invoice-modern_long 0:ce4081aef7a1#1 0.10 0.75 gbp180
-invoice-modern_long 0:9c9a412f0a45 0.10 -0.20 designsystemaudit—sprint1
-invoice-modern_long 0:7be809cb1590 0.10 0.80 gbp217
-invoice-modern_long 0:378b363c8601 0.10 0.75 gbp434
-invoice-modern_long 0:5257532a7b5d 0.10 -0.20 templatearchitecture—sprint1
-invoice-modern_long 0:c467cca4e45a 0.10 0.80 gbp254
-invoice-modern_long 0:4a4a218b012a 0.10 0.75 gbp762
-invoice-modern_long 0:58a1caacbf7e 0.10 -0.20 layoutenginetuning—sprint1
-invoice-modern_long 0:dde0144b97b7 0.10 0.80 gbp291
-invoice-modern_long 0:457a71636ad9 0.10 0.75 gbp1164
-invoice-modern_long 0:6fcf7d6dd606 0.10 -0.20 renderqapass—sprint1
-invoice-modern_long 0:dda88f5786f5 0.10 0.80 gbp328
-invoice-modern_long 0:dda88f5786f5#1 0.10 0.75 gbp328
-invoice-modern_long 0:ee18ad3bbb42 0.10 -0.20 accessibilityreview—sprint1
-invoice-modern_long 0:e681b4843ffb 0.10 0.80 gbp365
-invoice-modern_long 0:1859c20b35dd 0.10 0.75 gbp730
-invoice-modern_long 0:c12c14945fcd 0.10 -0.20 fontpipelinesetup—sprint1
-invoice-modern_long 0:9033a33f66e7 0.10 0.80 gbp402
-invoice-modern_long 0:837d48c1ff40 0.10 0.75 gbp1206
-invoice-modern_long 0:af6cba848dc0 0.10 -0.20 chartintegration—sprint1
-invoice-modern_long 0:6109a2c30104 0.10 0.80 gbp439
-invoice-modern_long 0:87e9fcb6151d 0.10 0.75 gbp1756
-invoice-modern_long 0:a6bee1ec5e35 0.10 -0.20 datamapping—sprint1
-invoice-modern_long 0:df1f9d4443d8 0.10 0.80 gbp476
-invoice-modern_long 0:df1f9d4443d8#1 0.10 0.75 gbp476
-invoice-modern_long 0:052c9f49a4b8 0.10 -0.20 paginationhardening—sprint1
-invoice-modern_long 0:9fba6332e489 0.10 0.80 gbp513
-invoice-modern_long 0:6f805c9f78c3 0.10 0.75 gbp1026
-invoice-modern_long 0:b54b7f77d86c 0.10 -0.20 visualregressionwiring—sprint13
-invoice-modern_long 0:dc3d212d6b32 0.10 0.80 gbp550
-invoice-modern_long 0:96667fee53f3 0.10 0.75 gbp1650
-invoice-modern_long 0:9fe9e123b0f0 0.10 -0.20 docsauthoring—sprint1
-invoice-modern_long 0:e7b406f24f04 0.10 0.80 gbp587
-invoice-modern_long 0:74357ca6b30e 0.10 0.75 gbp2348
-invoice-modern_long 0:9c6cf539f5bc 0.10 -0.20 stakeholderdemo—sprint1
-invoice-modern_long 0:cf79b5cdb735 0.10 0.80 gbp624
-invoice-modern_long 0:cf79b5cdb735#1 0.10 0.75 gbp624
-invoice-modern_long 0:d2bde6642670 0.10 -0.20 performanceprofiling—sprint1
-invoice-modern_long 0:679f017f73c1 0.10 0.80 gbp661
-invoice-modern_long 0:63985b524723 0.10 0.75 gbp1322
-invoice-modern_long 0:f82bef1ac80d 0.10 -0.20 releaseengineering—sprint1
-invoice-modern_long 0:0b21b7cf2ff9 0.10 0.80 gbp698
-invoice-modern_long 0:6afc08056aaa 0.10 0.75 gbp2094
-invoice-modern_long 0:632f71e8ff8b 0.10 -0.20 supportretainer—sprint1
-invoice-modern_long 0:70b393b5fb10 0.10 0.80 gbp735
-invoice-modern_long 0:29edf7588a57 0.10 0.75 gbp2940
-invoice-modern_long 0:82a9218b91ae 0.10 -0.20 discoveryworkshop—sprint2
-invoice-modern_long 0:c313f34b71b9 0.10 0.80 gbp772
-invoice-modern_long 0:c313f34b71b9#1 0.10 0.75 gbp772
-invoice-modern_long 0:7e69fbffe3e2 0.10 -0.20 designsystemaudit—sprint2
-invoice-modern_long 0:e096e4fddf9a 0.10 0.80 gbp809
-invoice-modern_long 0:c985a0123929 0.10 0.75 gbp1618
-invoice-modern_long 0:899f0392eecb 0.10 -0.20 templatearchitecture—sprint2
-invoice-modern_long 0:4c973ddb9245 0.10 0.80 gbp846
-invoice-modern_long 0:6ec359ce3927 0.10 0.75 gbp2538
-invoice-modern_long 0:69523ba7402c 0.10 -0.20 layoutenginetuning—sprint2
-invoice-modern_long 0:0e196c2b490b 0.10 0.80 gbp883
-invoice-modern_long 0:6e0d19ab72c6 0.10 0.75 gbp3532
-invoice-modern_long 1:c9046f7a37ad 0.20 -0.20 description
-invoice-modern_long 1:32e8369a9c4f 0.20 0.75 qty
-invoice-modern_long 1:385cfdbc00ec 0.20 0.80 unit
-invoice-modern_long 1:cf38d95c9c6b 0.20 0.75 amount
-invoice-modern_long 1:f12cbb7c274d 0.27 -0.20 renderqapass—sprint2
-invoice-modern_long 1:b813c73bc488 0.27 0.80 gbp920
-invoice-modern_long 1:b813c73bc488#1 0.27 0.75 gbp920
-invoice-modern_long 1:12cd54b50187 0.27 -0.20 accessibilityreview—sprint2
-invoice-modern_long 1:377d92702316 0.27 0.80 gbp957
-invoice-modern_long 1:e7c66f6cf477 0.27 0.75 gbp1914
-invoice-modern_long 1:e3d8409ace07 0.27 -0.20 fontpipelinesetup—sprint2
-invoice-modern_long 1:21604b8f0b36 0.27 0.80 gbp994
-invoice-modern_long 1:fe15ed444063 0.27 0.75 gbp2982
-invoice-modern_long 1:ca4d3c8eca22 0.27 -0.20 chartintegration—sprint2
-invoice-modern_long 1:a4c7a6612c99 0.27 0.80 gbp1031
-invoice-modern_long 1:1c83f0b47e27 0.27 0.75 gbp4124
-invoice-modern_long 1:00de69c6e70f 0.27 -0.20 datamapping—sprint2
-invoice-modern_long 1:b9d5c56a2cfd 0.27 0.80 gbp1068
-invoice-modern_long 1:b9d5c56a2cfd#1 0.27 0.75 gbp1068
-invoice-modern_long 1:eb628b5ea8ab 0.27 -0.20 paginationhardening—sprint2
-invoice-modern_long 1:db5327b47d0e 0.27 0.80 gbp205
-invoice-modern_long 1:99d9b3b49da2 0.27 0.75 gbp410
-invoice-modern_long 1:505693cbc91e 0.27 -0.20 visualregressionwiring—sprint23
-invoice-modern_long 1:9f0c5094fb63 0.27 0.80 gbp242
-invoice-modern_long 1:095b72c9d880 0.27 0.75 gbp726
-invoice-modern_long 1:2a787e61730a 0.27 -0.20 docsauthoring—sprint2
-invoice-modern_long 1:28ad00e76aef 0.27 0.80 gbp279
-invoice-modern_long 1:fbb12fed0bbc 0.27 0.75 gbp1116
-invoice-modern_long 1:5369a2c40ff8 0.27 -0.20 stakeholderdemo—sprint2
-invoice-modern_long 1:16562cbcd318 0.27 0.80 gbp316
-invoice-modern_long 1:16562cbcd318#1 0.27 0.75 gbp316
-invoice-modern_long 1:611b258cb41e 0.27 -0.20 performanceprofiling—sprint2
-invoice-modern_long 1:e391d4e46366 0.27 0.80 gbp353
-invoice-modern_long 1:7106c00cb009 0.27 0.75 gbp706
-invoice-modern_long 1:d24a15800df1 0.27 -0.20 releaseengineering—sprint2
-invoice-modern_long 1:4bed9b4092ee 0.27 0.80 gbp390
-invoice-modern_long 1:ae16cd1e31b1 0.27 0.75 gbp1170
-invoice-modern_long 1:6876c7b0fe66 0.27 -0.20 supportretainer—sprint2
-invoice-modern_long 1:909481a45a34 0.27 0.80 gbp427
-invoice-modern_long 1:4e58d78d0958 0.27 0.75 gbp1708
-invoice-modern_long 1:ddce236bccd7 0.27 -0.20 discoveryworkshop—sprint3
-invoice-modern_long 1:f8d17c11d834 0.27 0.80 gbp464
-invoice-modern_long 1:f8d17c11d834#1 0.27 0.75 gbp464
-invoice-modern_long 1:c0986cd7b1d4 0.27 -0.20 designsystemaudit—sprint3
-invoice-modern_long 1:09c7aebd89f6 0.27 0.80 gbp501
-invoice-modern_long 1:a61c7b6bdd20 0.27 0.75 gbp1002
-invoice-modern_long 1:21fd82d170b2 0.27 -0.20 templatearchitecture—sprint3
-invoice-modern_long 1:399e39a6eff5 0.27 0.80 gbp538
-invoice-modern_long 1:81ea39164f41 0.27 0.75 gbp1614
-invoice-modern_long 1:47cb1e683e8d 0.27 -0.20 layoutenginetuning—sprint3
-invoice-modern_long 1:f6df6e8e8f30 0.27 0.80 gbp575
-invoice-modern_long 1:7f7db0f4c1cf 0.27 0.75 gbp2300
-invoice-modern_long 1:608e31719f07 0.27 -0.20 renderqapass—sprint3
-invoice-modern_long 1:e4fbc626999e 0.27 0.80 gbp612
-invoice-modern_long 1:e4fbc626999e#1 0.27 0.75 gbp612
-invoice-modern_long 1:98bfb4deb0b7 0.27 -0.20 accessibilityreview—sprint3
-invoice-modern_long 1:7915a839b285 0.27 0.80 gbp649
-invoice-modern_long 1:ca74221d78ad 0.27 0.75 gbp1298
-invoice-modern_long 1:375dddcbee43 0.27 -0.20 fontpipelinesetup—sprint3
-invoice-modern_long 1:7b97f0ac8a87 0.27 0.80 gbp686
-invoice-modern_long 1:6a57f6a84a1c 0.27 0.75 gbp2058
-invoice-modern_long 1:2f4f507058ff 0.27 -0.20 chartintegration—sprint3
-invoice-modern_long 1:74df855b318c 0.27 0.80 gbp723
-invoice-modern_long 1:78016cdf49ca 0.27 0.75 gbp2892
-invoice-modern_long 1:d6577e95efba 0.27 0.80 subtotal
-invoice-modern_long 1:5969b6461056 0.27 0.75 gbp44,890
-invoice-modern_long 1:a52611c9261b 0.27 0.80 vat(20%)
-invoice-modern_long 1:e7fda33332e9 0.27 0.75 gbp8,978
-invoice-modern_long 1:11239872d178 0.18 0.80 total
-invoice-modern_long 1:90b9dec01ea9 0.18 0.75 gbp53,868
-invoice-modern_long 1:ab5aa97074c4 0.15 0.10 notes
-invoice-modern_long 1:970fb4bf9d95 0.22 0.10 •sprints1-3weredeliveredunderthe
-invoice-modern_long 1:a781fa6c76d2 0.22 0.12 frameworkagreement.
-invoice-modern_long 1:c980fb1ebf98 0.22 0.10 •hardwareandthird-partylicencesa
-invoice-modern_long 1:be1dea5817a5 0.22 0.12 billedseparately.
-invoice-modern_long 1:fb854bac39c8 0.15 0.11 paymentterms
-invoice-modern_long 1:24274f39b50b 0.22 0.11 •paymentduewithin14calendardays.
-invoice-modern_long 1:c438440ba377 0.22 0.11 •banktransferpreferred;contact
-invoice-modern_long 1:434cc906ae90 0.22 0.14 billing@graphcompose.devfor
-invoice-modern_long 1:8822ea375315 0.22 0.14 remittancedetails.
-invoice-modern_long 1:e3337beaa171 0.00 0.10 thankyouforchoosinggraphcomposef
+invoice-modern_long 0:c9046f7a37ad -0.12 -0.20 description
+invoice-modern_long 0:32e8369a9c4f -0.12 0.75 qty
+invoice-modern_long 0:385cfdbc00ec -0.12 0.80 unit
+invoice-modern_long 0:cf38d95c9c6b -0.12 0.75 amount
+invoice-modern_long 0:aa29f2f4fcb4 -0.15 -0.20 discoveryworkshop—sprint1
+invoice-modern_long 0:ce4081aef7a1 -0.15 0.80 gbp180
+invoice-modern_long 0:ce4081aef7a1#1 -0.15 0.75 gbp180
+invoice-modern_long 0:9c9a412f0a45 -0.15 -0.20 designsystemaudit—sprint1
+invoice-modern_long 0:7be809cb1590 -0.15 0.80 gbp217
+invoice-modern_long 0:378b363c8601 -0.15 0.75 gbp434
+invoice-modern_long 0:5257532a7b5d -0.15 -0.20 templatearchitecture—sprint1
+invoice-modern_long 0:c467cca4e45a -0.15 0.80 gbp254
+invoice-modern_long 0:4a4a218b012a -0.15 0.75 gbp762
+invoice-modern_long 0:58a1caacbf7e -0.15 -0.20 layoutenginetuning—sprint1
+invoice-modern_long 0:dde0144b97b7 -0.15 0.80 gbp291
+invoice-modern_long 0:457a71636ad9 -0.15 0.75 gbp1164
+invoice-modern_long 0:6fcf7d6dd606 -0.15 -0.20 renderqapass—sprint1
+invoice-modern_long 0:dda88f5786f5 -0.15 0.80 gbp328
+invoice-modern_long 0:dda88f5786f5#1 -0.15 0.75 gbp328
+invoice-modern_long 0:ee18ad3bbb42 -0.15 -0.20 accessibilityreview—sprint1
+invoice-modern_long 0:e681b4843ffb -0.15 0.80 gbp365
+invoice-modern_long 0:1859c20b35dd -0.15 0.75 gbp730
+invoice-modern_long 0:c12c14945fcd -0.15 -0.20 fontpipelinesetup—sprint1
+invoice-modern_long 0:9033a33f66e7 -0.15 0.80 gbp402
+invoice-modern_long 0:837d48c1ff40 -0.15 0.75 gbp1206
+invoice-modern_long 0:af6cba848dc0 -0.15 -0.20 chartintegration—sprint1
+invoice-modern_long 0:6109a2c30104 -0.15 0.80 gbp439
+invoice-modern_long 0:87e9fcb6151d -0.15 0.75 gbp1756
+invoice-modern_long 0:a6bee1ec5e35 -0.15 -0.20 datamapping—sprint1
+invoice-modern_long 0:df1f9d4443d8 -0.15 0.80 gbp476
+invoice-modern_long 0:df1f9d4443d8#1 -0.15 0.75 gbp476
+invoice-modern_long 0:052c9f49a4b8 -0.15 -0.20 paginationhardening—sprint1
+invoice-modern_long 0:9fba6332e489 -0.15 0.80 gbp513
+invoice-modern_long 0:6f805c9f78c3 -0.15 0.75 gbp1026
+invoice-modern_long 0:b54b7f77d86c -0.15 -0.20 visualregressionwiring—sprint13
+invoice-modern_long 0:dc3d212d6b32 -0.15 0.80 gbp550
+invoice-modern_long 0:96667fee53f3 -0.15 0.75 gbp1650
+invoice-modern_long 0:9fe9e123b0f0 -0.15 -0.20 docsauthoring—sprint1
+invoice-modern_long 0:e7b406f24f04 -0.15 0.80 gbp587
+invoice-modern_long 0:74357ca6b30e -0.15 0.75 gbp2348
+invoice-modern_long 0:9c6cf539f5bc -0.15 -0.20 stakeholderdemo—sprint1
+invoice-modern_long 0:cf79b5cdb735 -0.15 0.80 gbp624
+invoice-modern_long 0:cf79b5cdb735#1 -0.15 0.75 gbp624
+invoice-modern_long 0:d2bde6642670 -0.15 -0.20 performanceprofiling—sprint1
+invoice-modern_long 0:679f017f73c1 -0.15 0.80 gbp661
+invoice-modern_long 0:63985b524723 -0.15 0.75 gbp1322
+invoice-modern_long 0:f82bef1ac80d -0.15 -0.20 releaseengineering—sprint1
+invoice-modern_long 0:0b21b7cf2ff9 -0.15 0.80 gbp698
+invoice-modern_long 0:6afc08056aaa -0.15 0.75 gbp2094
+invoice-modern_long 0:632f71e8ff8b -0.15 -0.20 supportretainer—sprint1
+invoice-modern_long 0:70b393b5fb10 -0.15 0.80 gbp735
+invoice-modern_long 0:29edf7588a57 -0.15 0.75 gbp2940
+invoice-modern_long 0:82a9218b91ae -0.15 -0.20 discoveryworkshop—sprint2
+invoice-modern_long 0:c313f34b71b9 -0.15 0.80 gbp772
+invoice-modern_long 0:c313f34b71b9#1 -0.15 0.75 gbp772
+invoice-modern_long 0:7e69fbffe3e2 -0.15 -0.20 designsystemaudit—sprint2
+invoice-modern_long 0:e096e4fddf9a -0.15 0.80 gbp809
+invoice-modern_long 0:c985a0123929 -0.15 0.75 gbp1618
+invoice-modern_long 0:899f0392eecb -0.15 -0.20 templatearchitecture—sprint2
+invoice-modern_long 0:4c973ddb9245 -0.15 0.80 gbp846
+invoice-modern_long 0:6ec359ce3927 -0.15 0.75 gbp2538
+invoice-modern_long 0:69523ba7402c -0.15 -0.20 layoutenginetuning—sprint2
+invoice-modern_long 0:0e196c2b490b -0.15 0.80 gbp883
+invoice-modern_long 0:6e0d19ab72c6 -0.15 0.75 gbp3532
+invoice-modern_long 1:c9046f7a37ad -0.05 -0.20 description
+invoice-modern_long 1:32e8369a9c4f -0.05 0.75 qty
+invoice-modern_long 1:385cfdbc00ec -0.05 0.80 unit
+invoice-modern_long 1:cf38d95c9c6b -0.05 0.75 amount
+invoice-modern_long 1:f12cbb7c274d -0.08 -0.20 renderqapass—sprint2
+invoice-modern_long 1:b813c73bc488 -0.08 0.80 gbp920
+invoice-modern_long 1:b813c73bc488#1 -0.08 0.75 gbp920
+invoice-modern_long 1:12cd54b50187 -0.08 -0.20 accessibilityreview—sprint2
+invoice-modern_long 1:377d92702316 -0.08 0.80 gbp957
+invoice-modern_long 1:e7c66f6cf477 -0.08 0.75 gbp1914
+invoice-modern_long 1:e3d8409ace07 -0.08 -0.20 fontpipelinesetup—sprint2
+invoice-modern_long 1:21604b8f0b36 -0.08 0.80 gbp994
+invoice-modern_long 1:fe15ed444063 -0.08 0.75 gbp2982
+invoice-modern_long 1:ca4d3c8eca22 -0.08 -0.20 chartintegration—sprint2
+invoice-modern_long 1:a4c7a6612c99 -0.08 0.80 gbp1031
+invoice-modern_long 1:1c83f0b47e27 -0.08 0.75 gbp4124
+invoice-modern_long 1:00de69c6e70f -0.08 -0.20 datamapping—sprint2
+invoice-modern_long 1:b9d5c56a2cfd -0.08 0.80 gbp1068
+invoice-modern_long 1:b9d5c56a2cfd#1 -0.08 0.75 gbp1068
+invoice-modern_long 1:eb628b5ea8ab -0.08 -0.20 paginationhardening—sprint2
+invoice-modern_long 1:db5327b47d0e -0.08 0.80 gbp205
+invoice-modern_long 1:99d9b3b49da2 -0.08 0.75 gbp410
+invoice-modern_long 1:505693cbc91e -0.08 -0.20 visualregressionwiring—sprint23
+invoice-modern_long 1:9f0c5094fb63 -0.08 0.80 gbp242
+invoice-modern_long 1:095b72c9d880 -0.08 0.75 gbp726
+invoice-modern_long 1:2a787e61730a -0.08 -0.20 docsauthoring—sprint2
+invoice-modern_long 1:28ad00e76aef -0.08 0.80 gbp279
+invoice-modern_long 1:fbb12fed0bbc -0.08 0.75 gbp1116
+invoice-modern_long 1:5369a2c40ff8 -0.08 -0.20 stakeholderdemo—sprint2
+invoice-modern_long 1:16562cbcd318 -0.08 0.80 gbp316
+invoice-modern_long 1:16562cbcd318#1 -0.08 0.75 gbp316
+invoice-modern_long 1:611b258cb41e -0.08 -0.20 performanceprofiling—sprint2
+invoice-modern_long 1:e391d4e46366 -0.08 0.80 gbp353
+invoice-modern_long 1:7106c00cb009 -0.08 0.75 gbp706
+invoice-modern_long 1:d24a15800df1 -0.08 -0.20 releaseengineering—sprint2
+invoice-modern_long 1:4bed9b4092ee -0.08 0.80 gbp390
+invoice-modern_long 1:ae16cd1e31b1 -0.08 0.75 gbp1170
+invoice-modern_long 1:6876c7b0fe66 -0.08 -0.20 supportretainer—sprint2
+invoice-modern_long 1:909481a45a34 -0.08 0.80 gbp427
+invoice-modern_long 1:4e58d78d0958 -0.08 0.75 gbp1708
+invoice-modern_long 1:ddce236bccd7 -0.08 -0.20 discoveryworkshop—sprint3
+invoice-modern_long 1:f8d17c11d834 -0.08 0.80 gbp464
+invoice-modern_long 1:f8d17c11d834#1 -0.08 0.75 gbp464
+invoice-modern_long 1:c0986cd7b1d4 -0.08 -0.20 designsystemaudit—sprint3
+invoice-modern_long 1:09c7aebd89f6 -0.08 0.80 gbp501
+invoice-modern_long 1:a61c7b6bdd20 -0.08 0.75 gbp1002
+invoice-modern_long 1:21fd82d170b2 -0.08 -0.20 templatearchitecture—sprint3
+invoice-modern_long 1:399e39a6eff5 -0.08 0.80 gbp538
+invoice-modern_long 1:81ea39164f41 -0.08 0.75 gbp1614
+invoice-modern_long 1:47cb1e683e8d -0.08 -0.20 layoutenginetuning—sprint3
+invoice-modern_long 1:f6df6e8e8f30 -0.08 0.80 gbp575
+invoice-modern_long 1:7f7db0f4c1cf -0.08 0.75 gbp2300
+invoice-modern_long 1:608e31719f07 -0.08 -0.20 renderqapass—sprint3
+invoice-modern_long 1:e4fbc626999e -0.08 0.80 gbp612
+invoice-modern_long 1:e4fbc626999e#1 -0.08 0.75 gbp612
+invoice-modern_long 1:98bfb4deb0b7 -0.08 -0.20 accessibilityreview—sprint3
+invoice-modern_long 1:7915a839b285 -0.08 0.80 gbp649
+invoice-modern_long 1:ca74221d78ad -0.08 0.75 gbp1298
+invoice-modern_long 1:375dddcbee43 -0.08 -0.20 fontpipelinesetup—sprint3
+invoice-modern_long 1:7b97f0ac8a87 -0.08 0.80 gbp686
+invoice-modern_long 1:6a57f6a84a1c -0.08 0.75 gbp2058
+invoice-modern_long 1:2f4f507058ff -0.08 -0.20 chartintegration—sprint3
+invoice-modern_long 1:74df855b318c -0.08 0.80 gbp723
+invoice-modern_long 1:78016cdf49ca -0.08 0.75 gbp2892
+invoice-modern_long 1:d6577e95efba -0.08 0.80 subtotal
+invoice-modern_long 1:5969b6461056 -0.08 0.75 gbp44,890
+invoice-modern_long 1:a52611c9261b -0.08 0.80 vat(20%)
+invoice-modern_long 1:e7fda33332e9 -0.08 0.75 gbp8,978
+invoice-modern_long 1:11239872d178 -0.07 0.80 total
+invoice-modern_long 1:90b9dec01ea9 -0.07 0.75 gbp53,868
+invoice-modern_long 1:ab5aa97074c4 0.05 0.10 notes
+invoice-modern_long 1:970fb4bf9d95 0.12 0.10 •sprints1-3weredeliveredunderthe
+invoice-modern_long 1:a781fa6c76d2 0.12 0.12 frameworkagreement.
+invoice-modern_long 1:c980fb1ebf98 0.12 0.10 •hardwareandthird-partylicencesa
+invoice-modern_long 1:be1dea5817a5 0.12 0.12 billedseparately.
+invoice-modern_long 1:fb854bac39c8 0.05 0.11 paymentterms
+invoice-modern_long 1:24274f39b50b 0.12 0.11 •paymentduewithin14calendardays.
+invoice-modern_long 1:c438440ba377 0.12 0.11 •banktransferpreferred;contact
+invoice-modern_long 1:434cc906ae90 0.12 0.14 billing@graphcompose.devfor
+invoice-modern_long 1:8822ea375315 0.12 0.14 remittancedetails.
+invoice-modern_long 1:e3337beaa171 -0.10 0.10 thankyouforchoosinggraphcomposef
invoice-obsidian 0:07f15cde5b18 0.14 0.09 kestrel
invoice-obsidian 0:52d6e3de4fa0 0.12 0.09 invoice
invoice-obsidian 0:5d1d1b79af09 0.02 0.09 invoicenumber
@@ -3012,11 +3012,11 @@ invoice-obsidian 0:eafa82a0eadf 0.46 0.68 £146.00
invoice-obsidian 0:57a66d21eb1b 0.38 0.11 totaldue
invoice-obsidian 0:ad3ba615a506 0.36 -0.54 £876.00
invoice-obsidian 0:ab5aa97074c4 0.57 0.08 notes
-invoice-obsidian 0:0956d8d0441d 1.19 0.08 thankyouforchoosingkestrelbusine
-invoice-obsidian 0:0b4d6f0e8783 1.19 0.08 thisinvoicecoversservicesandfeat
-invoice-obsidian 0:02e483554647 1.20 0.08 toyourbusinessasofthedateofissue
-invoice-obsidian 0:b439106fc5a1 1.21 0.08 ifyouhaveanyquestionsaboutthisin
-invoice-obsidian 0:877ac656a147 1.22 0.08 pleasecontactusatar@kestrel.exam
+invoice-obsidian 0:0956d8d0441d 0.94 0.08 thankyouforchoosingkestrelbusine
+invoice-obsidian 0:0b4d6f0e8783 0.94 0.08 thisinvoicecoversservicesandfeat
+invoice-obsidian 0:02e483554647 0.95 0.08 toyourbusinessasofthedateofissue
+invoice-obsidian 0:b439106fc5a1 0.96 0.08 ifyouhaveanyquestionsaboutthisin
+invoice-obsidian 0:877ac656a147 0.97 0.08 pleasecontactusatar@kestrel.exam
invoice-obsidian 0:3c7ade679fdf 0.57 0.09 paymentdetails
invoice-obsidian 0:473fbeedb47c 0.05 0.11 pleasepaybybanktransfer
invoice-obsidian 0:59f2b74175d7 0.06 0.11 totheaccountbelow.
@@ -3067,11 +3067,11 @@ invoice-payments 0:725a8f5062e7 0.13 0.00 shipto
invoice-payments 0:9976f2392d8c 0.13 0.05 operationscentre
invoice-payments 0:fc0e113402c7 0.10 0.05 7kingswaypark
invoice-payments 0:a72c3f2308ed 0.07 0.05 leedsls126bd
-invoice-payments 0:c9046f7a37ad -0.06 -0.23 description
-invoice-payments 0:1a7b308d8df6 -0.06 -0.32 quantity
-invoice-payments 0:d1062d072acd -0.06 -0.29 unitprice
-invoice-payments 0:7c512b48ba8a -0.06 -0.30 vat
-invoice-payments 0:2da123241332 -0.06 0.44 amount(gbp)
+invoice-payments 0:c9046f7a37ad -0.01 -0.23 description
+invoice-payments 0:1a7b308d8df6 -0.01 -0.32 quantity
+invoice-payments 0:d1062d072acd -0.01 -0.29 unitprice
+invoice-payments 0:7c512b48ba8a -0.01 -0.30 vat
+invoice-payments 0:2da123241332 -0.01 0.44 amount(gbp)
invoice-payments 0:3ab6c1099bcc -0.07 -0.28 subscriptionbilling
invoice-payments 0:c8e69cd6e074 0.07 -0.28 subscriptionmanagementandrecurri
invoice-payments 0:0c95c7ece1ce -0.09 -0.28 billing
@@ -3174,12 +3174,12 @@ invoice-platform 0:c7a9cfdd1c55 -0.43 0.11 vatid:gb987654321
invoice-platform 0:725a8f5062e7 -0.41 0.02 shipto
invoice-platform 0:5895c7cd8d5b -0.36 0.07 warehouse7
invoice-platform 0:caf76743df2d -0.38 0.07 northindustrialestate
-invoice-platform 0:c9046f7a37ad -0.22 0.11 description
-invoice-platform 0:9df6b026a8c6 -0.22 0.07 service
-invoice-platform 0:c697d2981bf4 -0.22 0.11 region
-invoice-platform 0:0a4e4c29432e -0.22 0.11 usage
-invoice-platform 0:965711fdf178 -0.22 -0.64 unitprice(cad)
-invoice-platform 0:1742adf77d8c -0.22 -0.56 amount(cad)
+invoice-platform 0:c9046f7a37ad 0.13 0.11 description
+invoice-platform 0:9df6b026a8c6 0.13 0.07 service
+invoice-platform 0:c697d2981bf4 0.13 0.11 region
+invoice-platform 0:0a4e4c29432e 0.13 0.11 usage
+invoice-platform 0:965711fdf178 0.13 -0.64 unitprice(cad)
+invoice-platform 0:1742adf77d8c 0.13 -0.56 amount(cad)
invoice-platform 0:b04a12f6483e -0.26 0.07 compute
invoice-platform 0:a2cd33d50126 -0.26 0.11 ca-central1
invoice-platform 0:a2cd33d50126#1 -0.27 0.11 ca-central1
@@ -3281,35 +3281,35 @@ invoice-subscription 0:32e8369a9c4f 0.54 0.13 qty
invoice-subscription 0:d1062d072acd 0.54 0.06 unitprice
invoice-subscription 0:7c512b48ba8a 0.54 0.12 vat
invoice-subscription 0:cf38d95c9c6b 0.54 0.05 amount
-invoice-subscription 0:86705447c73d 0.53 0.12 halsteadworkspacepremium(10seats
-invoice-subscription 0:0c8dc980db3f 0.53 0.18 £18.00
-invoice-subscription 0:dc934fe30a94 0.53 0.09 20%
-invoice-subscription 0:dc934fe30a94#1 0.55 0.09 20%
-invoice-subscription 0:dc934fe30a94#2 0.57 0.09 20%
-invoice-subscription 0:dc934fe30a94#3 0.59 0.09 20%
-invoice-subscription 0:dc934fe30a94#4 0.61 0.09 20%
-invoice-subscription 0:629184210581 0.53 0.19 £180.00
-invoice-subscription 0:59df1d2b0f69 0.55 0.12 hostedplatformservices
-invoice-subscription 0:44c1ce3394d2 0.55 0.16 £420.00
-invoice-subscription 0:44c1ce3394d2#1 0.55 0.16 £420.00
-invoice-subscription 0:217bada1d20f 0.57 0.12 analyticsprolicences(5seats)
-invoice-subscription 0:599cd58953ce 0.57 0.20 £8.40
-invoice-subscription 0:756b8c62fe05 0.57 0.19 £42.00
-invoice-subscription 0:b055bcc305ed 0.59 0.12 prioritysupportplan
-invoice-subscription 0:1077d7cede59 0.59 0.18 £275.00
-invoice-subscription 0:1077d7cede59#1 0.59 0.18 £275.00
-invoice-subscription 0:361537ef6a11 0.61 0.12 voiceadd-on(5seats)
-invoice-subscription 0:8bf9ac7b27bd 0.61 0.19 £6.00
-invoice-subscription 0:893d7480f763 0.61 0.19 £30.00
+invoice-subscription 0:86705447c73d 0.28 0.12 halsteadworkspacepremium(10seats
+invoice-subscription 0:0c8dc980db3f 0.28 0.18 £18.00
+invoice-subscription 0:dc934fe30a94 0.28 0.09 20%
+invoice-subscription 0:dc934fe30a94#1 0.30 0.09 20%
+invoice-subscription 0:dc934fe30a94#2 0.32 0.09 20%
+invoice-subscription 0:dc934fe30a94#3 0.34 0.09 20%
+invoice-subscription 0:dc934fe30a94#4 0.36 0.09 20%
+invoice-subscription 0:629184210581 0.28 0.19 £180.00
+invoice-subscription 0:59df1d2b0f69 0.30 0.12 hostedplatformservices
+invoice-subscription 0:44c1ce3394d2 0.30 0.16 £420.00
+invoice-subscription 0:44c1ce3394d2#1 0.30 0.16 £420.00
+invoice-subscription 0:217bada1d20f 0.32 0.12 analyticsprolicences(5seats)
+invoice-subscription 0:599cd58953ce 0.32 0.20 £8.40
+invoice-subscription 0:756b8c62fe05 0.32 0.19 £42.00
+invoice-subscription 0:b055bcc305ed 0.34 0.12 prioritysupportplan
+invoice-subscription 0:1077d7cede59 0.34 0.18 £275.00
+invoice-subscription 0:1077d7cede59#1 0.34 0.18 £275.00
+invoice-subscription 0:361537ef6a11 0.36 0.12 voiceadd-on(5seats)
+invoice-subscription 0:8bf9ac7b27bd 0.36 0.19 £6.00
+invoice-subscription 0:893d7480f763 0.36 0.19 £30.00
invoice-subscription 0:ab5aa97074c4 0.80 0.12 notes
invoice-subscription 0:4440ed73b83f 0.38 0.12 thisinvoicecoverssoftwaresubscri
invoice-subscription 0:fffc319556fa 0.39 0.12 hostedservicesforthecurrentbilli
-invoice-subscription 0:d6577e95efba 0.64 0.11 subtotal
-invoice-subscription 0:adde9b2bd3ad 0.64 0.47 £947.00
-invoice-subscription 0:a52611c9261b 0.62 0.11 vat(20%)
-invoice-subscription 0:14edcfc20351 0.62 0.44 £189.40
-invoice-subscription 0:57a66d21eb1b 0.67 0.11 totaldue
-invoice-subscription 0:cf1b68cc49ef 0.74 0.94 £1,136.40
+invoice-subscription 0:d6577e95efba 0.39 0.11 subtotal
+invoice-subscription 0:adde9b2bd3ad 0.39 0.47 £947.00
+invoice-subscription 0:a52611c9261b 0.37 0.11 vat(20%)
+invoice-subscription 0:14edcfc20351 0.37 0.44 £189.40
+invoice-subscription 0:57a66d21eb1b 0.32 0.11 totaldue
+invoice-subscription 0:cf1b68cc49ef 0.39 0.94 £1,136.40
invoice-subscription 0:3c7ade679fdf 0.79 0.12 paymentdetails
invoice-subscription 0:56ed021beb35 0.42 0.54 beneficiary
invoice-subscription 0:0b85f3c8ed04 0.38 0.33 halsteadsoftwareltd
@@ -3326,18 +3326,18 @@ invoice-subscription 0:354ffeb2bbc3 0.42 0.09 paymentisdueby10september2026.if
invoice-subscription 0:7f7d98088133 0.43 0.09 foranyqueries,pleasecontactbilli
invoice-subscription 0:7b14b8d2c5c4 0.00 0.19 page1of1
invoice-workspace 0:07f15cde5b18 0.15 0.11 kestrel
-invoice-workspace 0:07f15cde5b18#1 -0.04 0.11 kestrel
+invoice-workspace 0:07f15cde5b18#1 0.01 0.11 kestrel
invoice-workspace 0:52d6e3de4fa0 -0.16 0.65 invoice
invoice-workspace 0:091019880d88 -0.37 0.13 kestrelcollaboration,inc.
-invoice-workspace 0:091019880d88#1 -0.28 0.06 kestrelcollaboration,inc.
-invoice-workspace 0:091019880d88#2 -0.44 0.06 kestrelcollaboration,inc.
+invoice-workspace 0:091019880d88#1 -0.23 0.06 kestrelcollaboration,inc.
+invoice-workspace 0:091019880d88#2 -0.39 0.06 kestrelcollaboration,inc.
invoice-workspace 0:9167e0470dae -0.31 0.13 500howardstreet,6thfloor
invoice-workspace 0:efa5e1529794 -0.28 0.13 sanfrancisco,ca94105
invoice-workspace 0:fd7321c405f8 -0.24 0.13 unitedstates
invoice-workspace 0:d3c6f273c22d -0.24 0.13 vatid:us77-0560185
invoice-workspace 0:6282391a4cc1 -0.31 0.04 invoicenumber:
invoice-workspace 0:b13757c9a6fc -0.30 -0.03 inv-2024-0003521
-invoice-workspace 0:b13757c9a6fc#1 -0.47 0.06 inv-2024-0003521
+invoice-workspace 0:b13757c9a6fc#1 -0.42 0.06 inv-2024-0003521
invoice-workspace 0:8d05f5d55191 -0.29 0.04 invoicedate:
invoice-workspace 0:8da43dd45024 -0.27 -0.03 27may2024
invoice-workspace 0:d39366fa1423 -0.26 0.04 billingperiod:
@@ -3348,7 +3348,7 @@ invoice-workspace 0:18e2cca1098e -0.21 0.04 paymentterms:
invoice-workspace 0:98ec3d1fd5b9 -0.20 -0.03 net30
invoice-workspace 0:0e0fb0fc0939 -0.19 0.04 duedate:
invoice-workspace 0:f1e2a60122bd -0.18 -0.03 26june2024
-invoice-workspace 0:f1e2a60122bd#1 -0.33 0.10 26june2024
+invoice-workspace 0:f1e2a60122bd#1 -0.28 0.10 26june2024
invoice-workspace 0:aeba3a7b3598 -0.18 0.10 billto
invoice-workspace 0:45fe04dbae24 -0.22 0.10 brightfutureltd.
invoice-workspace 0:45fe04dbae24#1 -0.22 0.02 brightfutureltd.
@@ -3360,60 +3360,60 @@ invoice-workspace 0:c7a9cfdd1c55 -0.13 0.10 vatid:gb987654321
invoice-workspace 0:725a8f5062e7 -0.18 0.02 shipto
invoice-workspace 0:6d835e737af6 -0.17 0.02 unit4,riversidepark
invoice-workspace 0:555d5194cd4d -0.16 0.02 leedsls14ap
-invoice-workspace 0:c9046f7a37ad -0.09 -0.25 description
-invoice-workspace 0:169240d91658 -0.09 -0.45 plan/service
-invoice-workspace 0:32e8369a9c4f -0.09 -0.49 qty
-invoice-workspace 0:e2a9c81da5f6 -0.09 -0.48 unitprice(usd)
-invoice-workspace 0:5dfb966b2bcf -0.09 -0.29 amount(usd)
-invoice-workspace 0:2bcc555090a1 -0.19 -0.30 kestrelbusiness+
-invoice-workspace 0:68fad867a983 -0.14 -0.30 workspacesubscription
-invoice-workspace 0:e0b844887562 -0.13 -0.17 business+annual
-invoice-workspace 0:84906b0f4b73 -0.13 -0.24 50users
-invoice-workspace 0:5ee31a6284bc -0.13 -0.21 8.75
-invoice-workspace 0:843d501d422c -0.13 -0.23 437.50
-invoice-workspace 0:3007667b4e18 -0.21 -0.30 enterprisekeymanagement
-invoice-workspace 0:162e9c93c528 -0.16 -0.30 customer-managedencryptionkeys
-invoice-workspace 0:a33a54a73112 -0.15 -0.19 add-on
-invoice-workspace 0:d66c66a96157 -0.15 -0.23 100.00
-invoice-workspace 0:d66c66a96157#1 -0.15 -0.23 100.00
-invoice-workspace 0:0036ebf2cfb2 -0.23 -0.30 prioritysupport
-invoice-workspace 0:51833276172f -0.18 -0.30 namedengineerandresponsetarget
-invoice-workspace 0:fe6d3468cf5c -0.17 -0.20 standard
-invoice-workspace 0:a99210875f11 -0.17 -0.24 50.00
-invoice-workspace 0:a99210875f11#1 -0.17 -0.20 50.00
-invoice-workspace 0:14209e8ccd53 -0.25 -0.30 workflowautomation
-invoice-workspace 0:31be3ff05457 -0.20 -0.30 templatesandscheduledruns
-invoice-workspace 0:7f0f70e643bc -0.19 -0.21 included
-invoice-workspace 0:561b2814d3c0 -0.19 -0.21 0.00
-invoice-workspace 0:561b2814d3c0#1 -0.19 -0.22 0.00
-invoice-workspace 0:561b2814d3c0#2 -0.14 0.34 0.00
-invoice-workspace 0:3c7ade679fdf -0.23 0.08 paymentdetails
-invoice-workspace 0:944d398aea60 -0.24 0.12 bankname:
-invoice-workspace 0:a18e9fdf120e -0.24 0.06 bayunionbank,n.a.
-invoice-workspace 0:0ecb5847ffa7 -0.28 0.12 accountname:
-invoice-workspace 0:6b4894c28363 -0.32 0.12 accountnumber:
-invoice-workspace 0:ab92799f9bc7 -0.32 0.06 000000123456789
-invoice-workspace 0:c1390f638bd3 -0.36 0.12 routing(aba):
-invoice-workspace 0:1f873cdde0ca -0.36 0.06 021000021
-invoice-workspace 0:e58256751597 -0.39 0.12 swift/bic:
-invoice-workspace 0:0fdf54f117f8 -0.39 0.06 bayuus33
-invoice-workspace 0:967e0b6ca4b9 -0.43 0.12 currency:
-invoice-workspace 0:d60fbd8718ec -0.43 0.06 usd
-invoice-workspace 0:c608665436db -0.47 0.12 reference:
-invoice-workspace 0:3db3fa89ea2c -0.51 0.12 bankaddress:
-invoice-workspace 0:b1645851e755 -0.51 0.06 1marketplaza,sanfrancisco
-invoice-workspace 0:9b600d1211c8 0.43 0.14 pleaseincludetheinvoicenumberiny
-invoice-workspace 0:415eb9e42f41 -0.83 0.14 reference.
-invoice-workspace 0:d6577e95efba -0.14 0.13 subtotal
-invoice-workspace 0:460dd5bae888 -0.14 0.40 587.50
-invoice-workspace 0:2ee4d3de4ddf -0.14 0.13 tax(0%)
-invoice-workspace 0:57a66d21eb1b -0.21 0.13 totaldue
-invoice-workspace 0:ad00e93ce79a -0.29 0.62 usd587.50
-invoice-workspace 0:b0553f008513 -0.22 0.10 paymentdueby
-invoice-workspace 0:08775a92bfca -0.41 0.12 thankyouforusingkestrel.
-invoice-workspace 0:18e82fbd48a3 -0.34 0.12 questionsaboutthisinvoice?reachu
-invoice-workspace 0:3c72ba0e1eb8 -0.47 0.06 500howardstreet,6thfloor,sanfran
-invoice-workspace 0:9e2917e23527 -0.48 -0.12 kestrel.example
+invoice-workspace 0:c9046f7a37ad -0.04 -0.25 description
+invoice-workspace 0:169240d91658 -0.04 -0.45 plan/service
+invoice-workspace 0:32e8369a9c4f -0.04 -0.49 qty
+invoice-workspace 0:e2a9c81da5f6 -0.04 -0.48 unitprice(usd)
+invoice-workspace 0:5dfb966b2bcf -0.04 -0.29 amount(usd)
+invoice-workspace 0:2bcc555090a1 -0.14 -0.30 kestrelbusiness+
+invoice-workspace 0:68fad867a983 -0.09 -0.30 workspacesubscription
+invoice-workspace 0:e0b844887562 -0.08 -0.17 business+annual
+invoice-workspace 0:84906b0f4b73 -0.08 -0.24 50users
+invoice-workspace 0:5ee31a6284bc -0.08 -0.21 8.75
+invoice-workspace 0:843d501d422c -0.08 -0.23 437.50
+invoice-workspace 0:3007667b4e18 -0.16 -0.30 enterprisekeymanagement
+invoice-workspace 0:162e9c93c528 -0.11 -0.30 customer-managedencryptionkeys
+invoice-workspace 0:a33a54a73112 -0.10 -0.19 add-on
+invoice-workspace 0:d66c66a96157 -0.10 -0.23 100.00
+invoice-workspace 0:d66c66a96157#1 -0.10 -0.23 100.00
+invoice-workspace 0:0036ebf2cfb2 -0.18 -0.30 prioritysupport
+invoice-workspace 0:51833276172f -0.13 -0.30 namedengineerandresponsetarget
+invoice-workspace 0:fe6d3468cf5c -0.12 -0.20 standard
+invoice-workspace 0:a99210875f11 -0.12 -0.24 50.00
+invoice-workspace 0:a99210875f11#1 -0.12 -0.20 50.00
+invoice-workspace 0:14209e8ccd53 -0.20 -0.30 workflowautomation
+invoice-workspace 0:31be3ff05457 -0.15 -0.30 templatesandscheduledruns
+invoice-workspace 0:7f0f70e643bc -0.14 -0.21 included
+invoice-workspace 0:561b2814d3c0 -0.14 -0.21 0.00
+invoice-workspace 0:561b2814d3c0#1 -0.14 -0.22 0.00
+invoice-workspace 0:561b2814d3c0#2 -0.09 0.34 0.00
+invoice-workspace 0:3c7ade679fdf -0.18 0.08 paymentdetails
+invoice-workspace 0:944d398aea60 -0.19 0.12 bankname:
+invoice-workspace 0:a18e9fdf120e -0.19 0.06 bayunionbank,n.a.
+invoice-workspace 0:0ecb5847ffa7 -0.23 0.12 accountname:
+invoice-workspace 0:6b4894c28363 -0.27 0.12 accountnumber:
+invoice-workspace 0:ab92799f9bc7 -0.27 0.06 000000123456789
+invoice-workspace 0:c1390f638bd3 -0.31 0.12 routing(aba):
+invoice-workspace 0:1f873cdde0ca -0.31 0.06 021000021
+invoice-workspace 0:e58256751597 -0.34 0.12 swift/bic:
+invoice-workspace 0:0fdf54f117f8 -0.34 0.06 bayuus33
+invoice-workspace 0:967e0b6ca4b9 -0.38 0.12 currency:
+invoice-workspace 0:d60fbd8718ec -0.38 0.06 usd
+invoice-workspace 0:c608665436db -0.42 0.12 reference:
+invoice-workspace 0:3db3fa89ea2c -0.46 0.12 bankaddress:
+invoice-workspace 0:b1645851e755 -0.46 0.06 1marketplaza,sanfrancisco
+invoice-workspace 0:9b600d1211c8 0.48 0.14 pleaseincludetheinvoicenumberiny
+invoice-workspace 0:415eb9e42f41 -0.78 0.14 reference.
+invoice-workspace 0:d6577e95efba -0.09 0.13 subtotal
+invoice-workspace 0:460dd5bae888 -0.09 0.40 587.50
+invoice-workspace 0:2ee4d3de4ddf -0.09 0.13 tax(0%)
+invoice-workspace 0:57a66d21eb1b -0.16 0.13 totaldue
+invoice-workspace 0:ad00e93ce79a -0.24 0.62 usd587.50
+invoice-workspace 0:b0553f008513 -0.17 0.10 paymentdueby
+invoice-workspace 0:08775a92bfca -0.36 0.12 thankyouforusingkestrel.
+invoice-workspace 0:18e82fbd48a3 -0.29 0.12 questionsaboutthisinvoice?reachu
+invoice-workspace 0:3c72ba0e1eb8 -0.42 0.06 500howardstreet,6thfloor,sanfran
+invoice-workspace 0:9e2917e23527 -0.43 -0.12 kestrel.example
invoice-workspace 0:7b14b8d2c5c4 -0.05 -0.03 page1of1
letter-blue_banner 0:8f1010120ed6 0.02 1.95 jordanrivera
letter-blue_banner 0:8f1010120ed6#1 -0.02 0.10 jordanrivera
@@ -3660,66 +3660,66 @@ proposal-editorial 1:8b712e7e93bf -45.40 0.55 contentstrategy&pagetemplates
proposal-editorial 1:e9bf06d9b130 -45.40 0.55 developer-readyassets&specificat
proposal-editorial 1:e93e7ba95ceb -45.40 0.55 launchchecklist&trainingsession
proposal-editorial 1:94d192b3a326 -45.17 0.10 timeline
-proposal-editorial 1:02195b8e9896 -45.21 -0.25 phase
-proposal-editorial 1:c51faa148557 -45.21 -0.28 focus
-proposal-editorial 1:caa79af4db67 -45.21 -0.26 duration
-proposal-editorial 1:e0ee8bb50685 -45.21 -0.28 output
-proposal-editorial 1:9a5c531db125 -45.23 -0.25 01discover
-proposal-editorial 1:99b15ca862e5 32.17 -0.26 1week
-proposal-editorial 1:99b15ca862e5#1 -122.53 -0.26 1week
-proposal-editorial 1:7817fa5085e2 -44.65 -0.28 research,audit,insights,and
-proposal-editorial 1:73dff70e25ad -44.65 -0.28 strategy
-proposal-editorial 1:ddfbc608570a -44.65 -0.28 discoveryreport&creative
-proposal-editorial 1:93c4abe27cf1 -44.65 -0.28 direction
-proposal-editorial 1:9285b279249c -45.18 -0.25 02design
-proposal-editorial 1:b183847fe9f8 25.32 -0.26 2weeks
-proposal-editorial 1:b183847fe9f8#1 -115.55 -0.26 2weeks
-proposal-editorial 1:1e0716635ae3 -44.60 -0.28 brandrefinementandwebsite
-proposal-editorial 1:80f5fb36f074 -44.60 -0.28 ux/uidesign
-proposal-editorial 1:ad5e8a376247 -44.60 -0.28 designsystem&high-fidelity
-proposal-editorial 1:dbb1831acb45 -44.60 -0.28 designs
-proposal-editorial 1:ea1ecc5ce8ad -45.13 -0.25 03developprep
-proposal-editorial 1:381b99928ddd -44.55 -0.28 contentstructure,developer
-proposal-editorial 1:b144c5104484 -44.55 -0.28 handoff&assetpreparation
-proposal-editorial 1:6ba4e54f2632 -44.55 -0.28 specs,assets&content
-proposal-editorial 1:06a61df042ad -44.55 -0.28 framework
-proposal-editorial 1:17f923a4777c -45.05 -0.25 04launchsupport
-proposal-editorial 1:8f16bc1588b5 -45.05 -0.28 qa,training&go-liveassistance
-proposal-editorial 1:7c23497e09b0 -45.05 -0.28 qasign-off&successfullaunch
-proposal-editorial 1:f9b21c4bda58 -45.93 0.10 investment
-proposal-editorial 1:4a33eacd5fa6 -44.82 0.45 item
-proposal-editorial 1:2da123241332 -44.82 0.53 amount(gbp)
-proposal-editorial 1:1167b381fe2f -44.81 0.45 discovery&strategy
-proposal-editorial 1:572a8dc5a455 -44.81 0.52 £2,500
-proposal-editorial 1:7c2ad9ba0fd0 -44.76 0.45 brandidentityrefinement
-proposal-editorial 1:7f2732df7390 -44.76 0.52 £4,500
-proposal-editorial 1:fc5134bf5fd1 -44.71 0.45 websiteux/uidesign
-proposal-editorial 1:8534d989b9ed -44.71 0.52 £7,000
-proposal-editorial 1:32001e20b2ed -44.66 0.45 contentstructure&messaging
-proposal-editorial 1:e58a378ffc52 -44.66 0.52 £2,000
-proposal-editorial 1:8c7703bb6fb7 -44.61 0.45 launchsupport
-proposal-editorial 1:d423fc0a31c2 -44.61 0.52 £1,500
-proposal-editorial 1:d6577e95efba -44.56 0.45 subtotal
-proposal-editorial 1:8873236d3571 -44.56 0.50 £17,500
-proposal-editorial 1:3d213570f707 -44.51 0.45 optional:3monthspost-launchsuppo
-proposal-editorial 1:7ffd918ebc4a -44.51 0.48 £1,750
-proposal-editorial 1:58656319146d -44.49 0.45 totalinvestment
-proposal-editorial 1:4aadcd9bc785 -44.49 0.52 £19,250
-proposal-editorial 1:51d2361f4fae -45.93 0.12 terms
-proposal-editorial 1:99ffab766326 -44.95 0.59 50%depositisrequiredtosecurethe
-proposal-editorial 1:5414e5671cbd -44.95 0.14 projectandschedulethekick-off.
-proposal-editorial 1:832db31f5c9a -44.97 0.59 includestworoundsofrevisionsper
-proposal-editorial 1:5130aeada3db -44.97 0.14 majordeliverable.
-proposal-editorial 1:ffce6ed7e6e5 -44.99 0.59 finalfilesandhandoffdeliveredupo
-proposal-editorial 1:566f68df6dd8 -44.99 0.14 finalpayment.
-proposal-editorial 1:06ebb5670fa8 -45.26 0.59 ownershipofallfinaldeliverables
-proposal-editorial 1:deda6d86d965 -44.91 0.14 transferstoasterahealthco.after
-proposal-editorial 1:aaa7d3e9affb -45.33 0.14 fullpaymentisreceived.
-proposal-editorial 1:c1514c6cdad1 -45.29 0.10 acceptance
-proposal-editorial 1:893663b06769 -44.26 0.10 bysigningbelow,youagreetothescop
-proposal-editorial 1:df16232de5b9 -44.27 0.10 acceptedby:
-proposal-editorial 1:f089d24d7cf3 -44.27 -0.02 signature:
-proposal-editorial 1:c74c9cd82f13 -44.27 -0.16 date:
+proposal-editorial 1:02195b8e9896 -45.01 -0.25 phase
+proposal-editorial 1:c51faa148557 -45.01 -0.28 focus
+proposal-editorial 1:caa79af4db67 -45.01 -0.26 duration
+proposal-editorial 1:e0ee8bb50685 -45.01 -0.28 output
+proposal-editorial 1:9a5c531db125 -45.28 -0.25 01discover
+proposal-editorial 1:99b15ca862e5 32.12 -0.26 1week
+proposal-editorial 1:99b15ca862e5#1 -122.58 -0.26 1week
+proposal-editorial 1:7817fa5085e2 -44.70 -0.28 research,audit,insights,and
+proposal-editorial 1:73dff70e25ad -44.70 -0.28 strategy
+proposal-editorial 1:ddfbc608570a -44.70 -0.28 discoveryreport&creative
+proposal-editorial 1:93c4abe27cf1 -44.70 -0.28 direction
+proposal-editorial 1:9285b279249c -45.23 -0.25 02design
+proposal-editorial 1:b183847fe9f8 25.27 -0.26 2weeks
+proposal-editorial 1:b183847fe9f8#1 -115.60 -0.26 2weeks
+proposal-editorial 1:1e0716635ae3 -44.65 -0.28 brandrefinementandwebsite
+proposal-editorial 1:80f5fb36f074 -44.65 -0.28 ux/uidesign
+proposal-editorial 1:ad5e8a376247 -44.65 -0.28 designsystem&high-fidelity
+proposal-editorial 1:dbb1831acb45 -44.65 -0.28 designs
+proposal-editorial 1:ea1ecc5ce8ad -45.18 -0.25 03developprep
+proposal-editorial 1:381b99928ddd -44.60 -0.28 contentstructure,developer
+proposal-editorial 1:b144c5104484 -44.60 -0.28 handoff&assetpreparation
+proposal-editorial 1:6ba4e54f2632 -44.60 -0.28 specs,assets&content
+proposal-editorial 1:06a61df042ad -44.60 -0.28 framework
+proposal-editorial 1:17f923a4777c -45.10 -0.25 04launchsupport
+proposal-editorial 1:8f16bc1588b5 -45.10 -0.28 qa,training&go-liveassistance
+proposal-editorial 1:7c23497e09b0 -45.10 -0.28 qasign-off&successfullaunch
+proposal-editorial 1:f9b21c4bda58 -46.03 0.10 investment
+proposal-editorial 1:4a33eacd5fa6 -44.72 0.45 item
+proposal-editorial 1:2da123241332 -44.72 0.53 amount(gbp)
+proposal-editorial 1:1167b381fe2f -44.71 0.45 discovery&strategy
+proposal-editorial 1:572a8dc5a455 -44.71 0.52 £2,500
+proposal-editorial 1:7c2ad9ba0fd0 -44.66 0.45 brandidentityrefinement
+proposal-editorial 1:7f2732df7390 -44.66 0.52 £4,500
+proposal-editorial 1:fc5134bf5fd1 -44.61 0.45 websiteux/uidesign
+proposal-editorial 1:8534d989b9ed -44.61 0.52 £7,000
+proposal-editorial 1:32001e20b2ed -44.56 0.45 contentstructure&messaging
+proposal-editorial 1:e58a378ffc52 -44.56 0.52 £2,000
+proposal-editorial 1:8c7703bb6fb7 -44.51 0.45 launchsupport
+proposal-editorial 1:d423fc0a31c2 -44.51 0.52 £1,500
+proposal-editorial 1:d6577e95efba -44.46 0.45 subtotal
+proposal-editorial 1:8873236d3571 -44.46 0.50 £17,500
+proposal-editorial 1:3d213570f707 -44.41 0.45 optional:3monthspost-launchsuppo
+proposal-editorial 1:7ffd918ebc4a -44.41 0.48 £1,750
+proposal-editorial 1:58656319146d -44.34 0.45 totalinvestment
+proposal-editorial 1:4aadcd9bc785 -44.34 0.52 £19,250
+proposal-editorial 1:51d2361f4fae -46.03 0.12 terms
+proposal-editorial 1:99ffab766326 -45.05 0.59 50%depositisrequiredtosecurethe
+proposal-editorial 1:5414e5671cbd -45.05 0.14 projectandschedulethekick-off.
+proposal-editorial 1:832db31f5c9a -45.07 0.59 includestworoundsofrevisionsper
+proposal-editorial 1:5130aeada3db -45.07 0.14 majordeliverable.
+proposal-editorial 1:ffce6ed7e6e5 -45.09 0.59 finalfilesandhandoffdeliveredupo
+proposal-editorial 1:566f68df6dd8 -45.09 0.14 finalpayment.
+proposal-editorial 1:06ebb5670fa8 -45.36 0.59 ownershipofallfinaldeliverables
+proposal-editorial 1:deda6d86d965 -45.01 0.14 transferstoasterahealthco.after
+proposal-editorial 1:aaa7d3e9affb -45.43 0.14 fullpaymentisreceived.
+proposal-editorial 1:c1514c6cdad1 -45.49 0.10 acceptance
+proposal-editorial 1:893663b06769 -44.46 0.10 bysigningbelow,youagreetothescop
+proposal-editorial 1:df16232de5b9 -44.47 0.10 acceptedby:
+proposal-editorial 1:f089d24d7cf3 -44.47 -0.02 signature:
+proposal-editorial 1:c74c9cd82f13 -44.47 -0.16 date:
proposal-editorial 1:026890c58de9 0.01 0.10 northlinestudio|northlinestudio.
proposal-indigo 0:07f15cde5b18 0.14 0.08 kestrel
proposal-indigo 0:ecd1378bc9dc 0.13 -0.38 proposal
@@ -3737,9 +3737,9 @@ proposal-indigo 0:f99fb5990e3f 0.16 0.03 proposalfor
proposal-indigo 0:460ebeabf0d7 0.16 0.03 financialinfrastructure
proposal-indigo 0:e0b894e9070f 0.17 0.03 &embeddedfinance
proposal-indigo 0:76f9df77e8af 0.18 0.03 partnership
-proposal-indigo 0:f33b9e206de3 1.06 0.03 empoweringbrightfutureltd.withmo
-proposal-indigo 0:16a14b235896 1.06 0.03 infrastructure,globalcapabilitie
-proposal-indigo 0:2fdd6f092df5 1.05 0.03 experienceforyourcustomers.
+proposal-indigo 0:f33b9e206de3 0.81 0.03 empoweringbrightfutureltd.withmo
+proposal-indigo 0:16a14b235896 0.81 0.03 infrastructure,globalcapabilitie
+proposal-indigo 0:2fdd6f092df5 0.80 0.03 experienceforyourcustomers.
proposal-indigo 0:0e87632cd46b 0.25 0.03 date
proposal-indigo 0:dc9696f61d36 0.24 0.03 27may2026
proposal-indigo 0:621f581e97b4 0.25 -0.04 proposalid
@@ -3749,8 +3749,8 @@ proposal-indigo 0:93059e9a1c07 0.24 0.03 26june2026
proposal-indigo 0:8d6867ab3a4c 0.25 0.01 preparedby
proposal-indigo 0:50910841c2da 0.24 0.01 kestrelbusinessteam
proposal-indigo 0:69cca54632df 0.28 0.08 aboutkestrelbusiness
-proposal-indigo 0:81a3de6caa05 0.26 0.08 kestrelbusinessprovidesmodernfin
-proposal-indigo 0:a999713d90ce 0.26 0.08 forward-thinkingcompanies.frommu
+proposal-indigo 0:81a3de6caa05 0.16 0.08 kestrelbusinessprovidesmodernfin
+proposal-indigo 0:a999713d90ce 0.16 0.08 forward-thinkingcompanies.frommu
proposal-indigo 0:8001c2743965 0.25 0.08 global
proposal-indigo 0:f469802a3144 0.27 0.08 scale
proposal-indigo 0:774cdf08f6a8 0.25 0.06 modern
@@ -3760,9 +3760,9 @@ proposal-indigo 0:b67c263c0379 0.27 0.03 compliant
proposal-indigo 0:88fa0d759f84 0.25 0.01 developer
proposal-indigo 0:962cba9fd476 0.27 0.01 firstapis
proposal-indigo 0:4f30d3328d6f 0.26 0.08 projectoverview
-proposal-indigo 0:a73369734180 0.26 0.08 thisproposaloutlinesatailoredfin
-proposal-indigo 0:19a7c085cb24 0.27 0.08 supportbrightfutureltd.inenablin
-proposal-indigo 0:ff5888ea18e0 0.27 0.08 financialservicesforyourbusiness
+proposal-indigo 0:a73369734180 0.16 0.08 thisproposaloutlinesatailoredfin
+proposal-indigo 0:19a7c085cb24 0.17 0.08 supportbrightfutureltd.inenablin
+proposal-indigo 0:ff5888ea18e0 0.17 0.08 financialservicesforyourbusiness
proposal-indigo 0:2855076f724f 0.28 0.07 multi-currencybusinessaccounts
proposal-indigo 0:4e36c64ccf3a 0.29 0.07 hold,send,receivein30+currencies
proposal-indigo 0:17f85ac3692b 0.37 0.07 corporatecards&expenses
@@ -3807,34 +3807,34 @@ proposal-modern 0:f890faef907f 0.00 0.11 northwindsystems
proposal-modern 0:577a7fcdaa02 -0.07 0.11 attn:procurement
proposal-modern 0:91eefd794f79 -0.10 0.11 410marketavenue
proposal-modern 0:3daace874084 -0.12 0.11 procurement@northwind.example
-proposal-modern 0:5f161c914988 -0.16 0.10 scope
-proposal-modern 0:9e580657f485 -0.12 0.10 discovery,architecture,andarefer
-proposal-modern 0:cec9111de36d -0.16 0.10 approach
-proposal-modern 0:3215ea3be6d9 -0.12 0.10 iterativedeliverywithweeklycheck
-proposal-modern 0:94d192b3a326 -0.16 0.10 timeline
-proposal-modern 0:02195b8e9896 0.08 -0.20 phase
-proposal-modern 0:caa79af4db67 0.08 -0.25 duration
-proposal-modern 0:41ffd8b76afc 0.08 -0.25 details
-proposal-modern 0:fa44132b238e 0.15 -0.20 discovery
-proposal-modern 0:fa44132b238e#1 0.15 -0.20 discovery
-proposal-modern 0:b183847fe9f8 0.15 -0.25 2weeks
-proposal-modern 0:4b20bfb69ca7 0.15 -0.25 stakeholderinterviews+audit
-proposal-modern 0:44575cf5b285 0.15 -0.20 build
-proposal-modern 0:44575cf5b285#1 0.15 -0.20 build
-proposal-modern 0:5a6b4bf425f2 0.15 -0.25 6weeks
-proposal-modern 0:7a802048127d 0.15 -0.25 engine+templatemigration
+proposal-modern 0:5f161c914988 -0.06 0.10 scope
+proposal-modern 0:9e580657f485 -0.02 0.10 discovery,architecture,andarefer
+proposal-modern 0:cec9111de36d -0.06 0.10 approach
+proposal-modern 0:3215ea3be6d9 -0.02 0.10 iterativedeliverywithweeklycheck
+proposal-modern 0:94d192b3a326 -0.06 0.10 timeline
+proposal-modern 0:02195b8e9896 -0.07 -0.20 phase
+proposal-modern 0:caa79af4db67 -0.07 -0.25 duration
+proposal-modern 0:41ffd8b76afc -0.07 -0.25 details
+proposal-modern 0:fa44132b238e -0.10 -0.20 discovery
+proposal-modern 0:fa44132b238e#1 -0.20 -0.20 discovery
+proposal-modern 0:b183847fe9f8 -0.10 -0.25 2weeks
+proposal-modern 0:4b20bfb69ca7 -0.10 -0.25 stakeholderinterviews+audit
+proposal-modern 0:44575cf5b285 -0.10 -0.20 build
+proposal-modern 0:44575cf5b285#1 -0.20 -0.20 build
+proposal-modern 0:5a6b4bf425f2 -0.10 -0.25 6weeks
+proposal-modern 0:7a802048127d -0.10 -0.25 engine+templatemigration
proposal-modern 0:f9b21c4bda58 -0.16 0.10 investment
-proposal-modern 0:4a33eacd5fa6 0.08 -0.20 item
-proposal-modern 0:c9046f7a37ad 0.08 -0.25 description
-proposal-modern 0:cf38d95c9c6b 0.08 0.82 amount
-proposal-modern 0:fe9b6b4f133b 0.15 -0.25 workshops+auditgbp6,000
-proposal-modern 0:62e788ae3916 0.15 -0.25 engine+templatesgbp24,000
-proposal-modern 0:11239872d178 0.05 -0.20 total
-proposal-modern 0:1c3065490625 0.05 0.82 gbp30,000
-proposal-modern 0:63feb7230a5d -0.18 0.10 acceptanceterms
-proposal-modern 0:35046a9f5675 0.15 0.10 •50%onsignature,50%ondelivery.
-proposal-modern 0:f03c1877ea2b 0.15 0.10 •validfor30daysfromthepreparedda
-proposal-modern 0:90572e911376 -0.13 0.10 thankyouforconsideringgraphcompo
+proposal-modern 0:4a33eacd5fa6 -0.17 -0.20 item
+proposal-modern 0:c9046f7a37ad -0.17 -0.25 description
+proposal-modern 0:cf38d95c9c6b -0.17 0.82 amount
+proposal-modern 0:fe9b6b4f133b -0.20 -0.25 workshops+auditgbp6,000
+proposal-modern 0:62e788ae3916 -0.20 -0.25 engine+templatesgbp24,000
+proposal-modern 0:11239872d178 -0.20 -0.20 total
+proposal-modern 0:1c3065490625 -0.20 0.82 gbp30,000
+proposal-modern 0:63feb7230a5d -0.28 0.10 acceptanceterms
+proposal-modern 0:35046a9f5675 0.05 0.10 •50%onsignature,50%ondelivery.
+proposal-modern 0:f03c1877ea2b 0.05 0.10 •validfor30daysfromthepreparedda
+proposal-modern 0:90572e911376 -0.23 0.10 thankyouforconsideringgraphcompo
proposal-northline 0:5205c2a261bc -0.44 0.05 northline
proposal-northline 0:da0daaba4b15 -0.44 0.05 studio
proposal-northline 0:ecd1378bc9dc -0.38 1.98 proposal
@@ -3906,66 +3906,66 @@ proposal-northline 1:8b712e7e93bf -0.12 0.55 contentstrategy&pagetemplates
proposal-northline 1:e9bf06d9b130 -0.12 0.55 developer-readyassets&specificat
proposal-northline 1:e93e7ba95ceb -0.12 0.55 launchchecklist&trainingsession
proposal-northline 1:94d192b3a326 -0.44 0.11 timeline
-proposal-northline 1:02195b8e9896 -0.04 -0.25 phase
-proposal-northline 1:c51faa148557 -0.04 -0.25 focus
-proposal-northline 1:caa79af4db67 -0.04 -0.29 duration
-proposal-northline 1:e0ee8bb50685 -0.04 -0.25 output
-proposal-northline 1:9a5c531db125 -0.06 -0.25 01discover
-proposal-northline 1:99b15ca862e5 -0.06 -0.29 1week
-proposal-northline 1:99b15ca862e5#1 0.04 -0.29 1week
-proposal-northline 1:7817fa5085e2 0.32 -0.25 research,audit,insights,and
-proposal-northline 1:73dff70e25ad 0.32 -0.25 strategy
-proposal-northline 1:ddfbc608570a 0.32 -0.25 discoveryreport&creative
-proposal-northline 1:93c4abe27cf1 0.32 -0.25 direction
-proposal-northline 1:9285b279249c -0.01 -0.25 02design
-proposal-northline 1:b183847fe9f8 -0.01 -0.29 2weeks
-proposal-northline 1:b183847fe9f8#1 0.12 -0.29 2weeks
-proposal-northline 1:1e0716635ae3 0.37 -0.25 brandrefinementandwebsite
-proposal-northline 1:80f5fb36f074 0.37 -0.25 ux/uidesign
-proposal-northline 1:ad5e8a376247 0.37 -0.25 designsystem&high-fidelity
-proposal-northline 1:dbb1831acb45 0.37 -0.25 designs
-proposal-northline 1:ea1ecc5ce8ad 0.04 -0.25 03developprep
-proposal-northline 1:381b99928ddd 0.42 -0.25 contentstructure,developer
-proposal-northline 1:b144c5104484 0.42 -0.25 handoff&assetpreparation
-proposal-northline 1:6ba4e54f2632 0.42 -0.25 specs,assets&content
-proposal-northline 1:06a61df042ad 0.42 -0.25 framework
-proposal-northline 1:17f923a4777c 0.12 -0.25 04launchsupport
-proposal-northline 1:8f16bc1588b5 0.12 -0.25 qa,training&go-liveassistance
-proposal-northline 1:7c23497e09b0 0.12 -0.25 qasign-off&successfullaunch
-proposal-northline 1:f9b21c4bda58 -0.14 0.11 investment
-proposal-northline 1:4a33eacd5fa6 0.26 0.45 item
-proposal-northline 1:2da123241332 0.26 0.57 amount(gbp)
-proposal-northline 1:1167b381fe2f 0.27 0.45 discovery&strategy
-proposal-northline 1:572a8dc5a455 0.27 0.56 £2,500
-proposal-northline 1:7c2ad9ba0fd0 0.32 0.45 brandidentityrefinement
-proposal-northline 1:7f2732df7390 0.32 0.56 £4,500
-proposal-northline 1:fc5134bf5fd1 0.37 0.45 websiteux/uidesign
-proposal-northline 1:8534d989b9ed 0.37 0.56 £7,000
-proposal-northline 1:32001e20b2ed 0.42 0.45 contentstructure&messaging
-proposal-northline 1:e58a378ffc52 0.42 0.56 £2,000
-proposal-northline 1:8c7703bb6fb7 0.47 0.45 launchsupport
-proposal-northline 1:d423fc0a31c2 0.47 0.56 £1,500
-proposal-northline 1:d6577e95efba 0.52 0.45 subtotal
-proposal-northline 1:8873236d3571 0.52 0.54 £17,500
-proposal-northline 1:3d213570f707 0.57 0.45 optional:3monthspost-launchsuppo
-proposal-northline 1:7ffd918ebc4a 0.57 0.52 £1,750
-proposal-northline 1:58656319146d 0.59 0.45 totalinvestment
-proposal-northline 1:4aadcd9bc785 0.59 0.56 £19,250
-proposal-northline 1:51d2361f4fae -0.14 0.08 terms
-proposal-northline 1:99ffab766326 0.03 0.54 50%depositisrequiredtosecurethe
-proposal-northline 1:5414e5671cbd 0.05 0.09 projectandschedulethekick-off.
-proposal-northline 1:832db31f5c9a 0.03 0.54 includestworoundsofrevisionsper
-proposal-northline 1:5130aeada3db 0.05 0.09 majordeliverable.
-proposal-northline 1:ffce6ed7e6e5 0.03 0.54 finalfilesandhandoffdeliveredupo
-proposal-northline 1:566f68df6dd8 0.05 0.09 finalpayment.
-proposal-northline 1:06ebb5670fa8 -0.12 0.54 ownershipofallfinaldeliverables
-proposal-northline 1:5312201597c1 0.25 0.09 transferstoasterahealthco.afterf
-proposal-northline 1:d31e8d77a816 -0.15 0.09 paymentisreceived.
-proposal-northline 1:c1514c6cdad1 0.41 0.11 acceptance
-proposal-northline 1:893663b06769 0.73 0.10 bysigningbelow,youagreetothescop
-proposal-northline 1:df16232de5b9 0.72 0.10 acceptedby:
-proposal-northline 1:f089d24d7cf3 0.72 0.06 signature:
-proposal-northline 1:c74c9cd82f13 0.72 0.07 date:
+proposal-northline 1:02195b8e9896 0.16 -0.25 phase
+proposal-northline 1:c51faa148557 0.16 -0.25 focus
+proposal-northline 1:caa79af4db67 0.16 -0.29 duration
+proposal-northline 1:e0ee8bb50685 0.16 -0.25 output
+proposal-northline 1:9a5c531db125 -0.11 -0.25 01discover
+proposal-northline 1:99b15ca862e5 -0.11 -0.29 1week
+proposal-northline 1:99b15ca862e5#1 -0.01 -0.29 1week
+proposal-northline 1:7817fa5085e2 0.27 -0.25 research,audit,insights,and
+proposal-northline 1:73dff70e25ad 0.27 -0.25 strategy
+proposal-northline 1:ddfbc608570a 0.27 -0.25 discoveryreport&creative
+proposal-northline 1:93c4abe27cf1 0.27 -0.25 direction
+proposal-northline 1:9285b279249c -0.06 -0.25 02design
+proposal-northline 1:b183847fe9f8 -0.06 -0.29 2weeks
+proposal-northline 1:b183847fe9f8#1 0.07 -0.29 2weeks
+proposal-northline 1:1e0716635ae3 0.32 -0.25 brandrefinementandwebsite
+proposal-northline 1:80f5fb36f074 0.32 -0.25 ux/uidesign
+proposal-northline 1:ad5e8a376247 0.32 -0.25 designsystem&high-fidelity
+proposal-northline 1:dbb1831acb45 0.32 -0.25 designs
+proposal-northline 1:ea1ecc5ce8ad -0.01 -0.25 03developprep
+proposal-northline 1:381b99928ddd 0.37 -0.25 contentstructure,developer
+proposal-northline 1:b144c5104484 0.37 -0.25 handoff&assetpreparation
+proposal-northline 1:6ba4e54f2632 0.37 -0.25 specs,assets&content
+proposal-northline 1:06a61df042ad 0.37 -0.25 framework
+proposal-northline 1:17f923a4777c 0.07 -0.25 04launchsupport
+proposal-northline 1:8f16bc1588b5 0.07 -0.25 qa,training&go-liveassistance
+proposal-northline 1:7c23497e09b0 0.07 -0.25 qasign-off&successfullaunch
+proposal-northline 1:f9b21c4bda58 -0.24 0.11 investment
+proposal-northline 1:4a33eacd5fa6 0.36 0.45 item
+proposal-northline 1:2da123241332 0.36 0.57 amount(gbp)
+proposal-northline 1:1167b381fe2f 0.37 0.45 discovery&strategy
+proposal-northline 1:572a8dc5a455 0.37 0.56 £2,500
+proposal-northline 1:7c2ad9ba0fd0 0.42 0.45 brandidentityrefinement
+proposal-northline 1:7f2732df7390 0.42 0.56 £4,500
+proposal-northline 1:fc5134bf5fd1 0.47 0.45 websiteux/uidesign
+proposal-northline 1:8534d989b9ed 0.47 0.56 £7,000
+proposal-northline 1:32001e20b2ed 0.52 0.45 contentstructure&messaging
+proposal-northline 1:e58a378ffc52 0.52 0.56 £2,000
+proposal-northline 1:8c7703bb6fb7 0.57 0.45 launchsupport
+proposal-northline 1:d423fc0a31c2 0.57 0.56 £1,500
+proposal-northline 1:d6577e95efba 0.62 0.45 subtotal
+proposal-northline 1:8873236d3571 0.62 0.54 £17,500
+proposal-northline 1:3d213570f707 0.67 0.45 optional:3monthspost-launchsuppo
+proposal-northline 1:7ffd918ebc4a 0.67 0.52 £1,750
+proposal-northline 1:58656319146d 0.74 0.45 totalinvestment
+proposal-northline 1:4aadcd9bc785 0.74 0.56 £19,250
+proposal-northline 1:51d2361f4fae -0.24 0.08 terms
+proposal-northline 1:99ffab766326 -0.07 0.54 50%depositisrequiredtosecurethe
+proposal-northline 1:5414e5671cbd -0.05 0.09 projectandschedulethekick-off.
+proposal-northline 1:832db31f5c9a -0.07 0.54 includestworoundsofrevisionsper
+proposal-northline 1:5130aeada3db -0.05 0.09 majordeliverable.
+proposal-northline 1:ffce6ed7e6e5 -0.07 0.54 finalfilesandhandoffdeliveredupo
+proposal-northline 1:566f68df6dd8 -0.05 0.09 finalpayment.
+proposal-northline 1:06ebb5670fa8 -0.22 0.54 ownershipofallfinaldeliverables
+proposal-northline 1:5312201597c1 0.15 0.09 transferstoasterahealthco.afterf
+proposal-northline 1:d31e8d77a816 -0.25 0.09 paymentisreceived.
+proposal-northline 1:c1514c6cdad1 0.21 0.11 acceptance
+proposal-northline 1:893663b06769 0.53 0.10 bysigningbelow,youagreetothescop
+proposal-northline 1:df16232de5b9 0.52 0.10 acceptedby:
+proposal-northline 1:f089d24d7cf3 0.52 0.06 signature:
+proposal-northline 1:c74c9cd82f13 0.52 0.07 date:
proposal-northline 1:026890c58de9 0.01 0.10 northlinestudio|northlinestudio.
receipt-modern 0:2b019b5b46da 0.31 0.10 northwindpay
receipt-modern 0:a3c304a23bb1 0.30 0.21 transferconfirmation
diff --git a/qa/src/test/resources/docx-fidelity/libreoffice-windows.tsv b/qa/src/test/resources/docx-fidelity/libreoffice-windows.tsv
index deabfd67a..a6c34429f 100644
--- a/qa/src/test/resources/docx-fidelity/libreoffice-windows.tsv
+++ b/qa/src/test/resources/docx-fidelity/libreoffice-windows.tsv
@@ -1,4 +1,4 @@
-# libreoffice build bce0998afefd on windows
+# libreoffice build bf6ef2662401 on windows
document engine_pages editor_pages lines matched median p90 over2
cv-blue_banner 2 2 54 52 0.13 0.45 0
cv-boxed_sections 2 2 58 58 0.23 0.36 0
@@ -6,7 +6,7 @@ cv-centered_headline 2 2 58 56 0.13 0.31 0
cv-charcoal_gold 1 1 85 83 0.17 0.24 0
cv-classic_serif 2 2 57 54 0.10 0.28 0
cv-compact_mono 1 1 58 58 0.17 0.31 0
-cv-editorial_blue 2 2 82 82 0.09 0.30 0
+cv-editorial_blue 2 2 82 82 0.14 0.30 0
cv-engineering_resume 1 1 57 57 0.26 0.38 0
cv-executive 2 2 60 60 0.26 0.50 0
cv-midnight_navy 1 1 86 84 0.28 0.87 0
@@ -26,21 +26,21 @@ cv-teal_pulse 1 1 57 57 0.22 0.64 0
cv-terracotta_rail 1 1 102 102 0.44 0.94 0
cv-timeline_minimal 2 2 89 87 0.45 0.49 0
cv-violet_grid 1 1 80 78 0.26 0.54 0
-invoice-classic 1 1 56 56 0.17 0.22 0
-invoice-classic_long 2 2 166 166 0.22 0.27 0
-invoice-consulting 1 1 92 92 0.65 1.01 0
-invoice-consulting_long 2 2 236 236 0.69 1.04 0
-invoice-luma_studio 1 1 97 97 0.12 0.52 2
-invoice-luma_studio_long 3 3 192 192 0.21 0.41 2
-invoice-merchant 1 2 94 90 0.10 0.18 0
+invoice-classic 1 1 56 56 0.07 0.15 0
+invoice-classic_long 2 2 166 166 0.05 0.10 0
+invoice-consulting 1 1 92 92 0.18 0.96 0
+invoice-consulting_long 2 2 236 236 0.22 0.73 0
+invoice-luma_studio 1 1 97 97 0.12 0.46 2
+invoice-luma_studio_long 3 3 192 192 0.20 0.41 2
+invoice-merchant 1 2 94 90 0.07 0.21 0
invoice-metered 1 1 99 99 0.05 0.68 0
-invoice-modern 1 1 54 54 0.07 0.20 0
-invoice-modern_long 2 2 162 162 0.18 0.27 0
-invoice-obsidian 1 1 81 81 0.34 1.19 0
+invoice-modern 1 1 54 54 0.13 0.20 0
+invoice-modern_long 2 2 162 162 0.12 0.15 0
+invoice-obsidian 1 1 81 81 0.34 0.94 0
invoice-payments 1 1 104 104 0.09 0.23 0
invoice-platform 1 1 111 111 0.27 0.43 0
-invoice-subscription 1 1 81 81 0.42 0.62 0
-invoice-workspace 1 1 90 90 0.21 0.43 0
+invoice-subscription 1 1 81 81 0.34 0.51 0
+invoice-workspace 1 1 90 90 0.18 0.38 0
letter-blue_banner 1 1 10 10 0.21 0.46 0
letter-boxed_sections 1 1 10 10 0.11 0.23 0
letter-centered_headline 1 1 11 11 0.10 0.23 0
@@ -56,9 +56,9 @@ letter-nordic_clean 1 1 15 15 0.16 0.38 0
letter-panel 1 1 13 13 0.17 0.25 0
letter-sidebar_portrait 1 1 12 12 0.41 0.49 0
letter-timeline_minimal 1 1 15 15 0.33 0.53 0
-proposal-editorial 2 2 132 129 44.49 45.29 72
-proposal-indigo 1 1 72 70 0.27 0.65 0
-proposal-modern 1 1 44 44 0.13 0.16 0
-proposal-northline 2 2 132 132 0.27 0.59 0
+proposal-editorial 2 2 132 129 44.46 45.38 72
+proposal-indigo 1 1 72 70 0.26 0.65 0
+proposal-modern 1 1 44 44 0.10 0.20 0
+proposal-northline 2 2 132 132 0.27 0.62 0
receipt-modern 1 1 57 57 0.09 0.29 0
rota-cobalt 1 1 154 151 0.23 0.84 0
diff --git a/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv b/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv
index ca276c7a2..231ac1fb5 100644
--- a/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv
+++ b/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv
@@ -369,38 +369,38 @@ cv-editorial_blue 0:80cc87fdc4c4 -0.15 -0.04 platformengineerwith10+yearsbuil
cv-editorial_blue 0:c323ef4c385f -0.13 -0.04 systems.specialisedinhigh-throug
cv-editorial_blue 0:3ff1933dba9a -0.10 -0.04 typed,snapshot-testedlibrariesth
cv-editorial_blue 0:32c1cf49a2fe -0.03 -0.04 skills
-cv-editorial_blue 0:8447174c8fff 0.16 -0.04 •java21
-cv-editorial_blue 0:4797e5b5555b 0.16 0.05 •kotlin
-cv-editorial_blue 0:44408890ac29 0.16 0.03 •groovy
-cv-editorial_blue 0:9b676a2ec3c3 0.16 0.03 •python
-cv-editorial_blue 0:c96e7be4e2bd 0.17 -0.04 •sql
-cv-editorial_blue 0:5bf26a4a07e7 0.17 0.05 •pdfbox
-cv-editorial_blue 0:60bb71068aa6 0.17 0.03 •apachepoi(docx/xlsx)
-cv-editorial_blue 0:8af129f35b4a 0.17 0.03 •itext
-cv-editorial_blue 0:af16271643f5 0.05 -0.04 •postscript
-cv-editorial_blue 0:52014e35429b 0.05 0.05 •icccolourprofiles
-cv-editorial_blue 0:5cc4da0e31ab 0.05 0.03 •fontmetrics
-cv-editorial_blue 0:ffd06dc07d03 0.05 0.03 •customdsldesign
-cv-editorial_blue 0:b3307292a943 0.06 -0.04 •semanticlayouttrees
-cv-editorial_blue 0:6a0bf046882f 0.06 0.05 •pagination
-cv-editorial_blue 0:8d5738dcdcbd 0.06 0.03 •snapshottesting
-cv-editorial_blue 0:8f39f0146d0e 0.06 0.03 •visualregression
-cv-editorial_blue 0:a26a92311896 0.09 -0.04 •maven
-cv-editorial_blue 0:d1002e9575f5 0.09 0.05 •gradle
-cv-editorial_blue 0:e7b0f50a3bf3 0.09 0.03 •githubactions
-cv-editorial_blue 0:193e87ad43b7 0.09 0.03 •jitpack
-cv-editorial_blue 0:193e87ad43b7#1 0.11 0.03 •jitpack
-cv-editorial_blue 0:62e29bf5f417 0.10 -0.04 •docker
-cv-editorial_blue 0:83844532ef02 0.10 0.05 •jmhbenchmarking
-cv-editorial_blue 0:8a7a4807b03b 0.10 0.03 •junit5
-cv-editorial_blue 0:40aaef8fe2a9 0.10 0.03 •assertj
-cv-editorial_blue 0:a736ceace0f5 0.10 -0.04 •pdfbox-basedpngdiff
-cv-editorial_blue 0:9a38eea08d15 0.10 0.05 •layout-graphsnapshots
-cv-editorial_blue 0:0d50de959d19 0.10 0.03 •mutationtesting(pitest)
-cv-editorial_blue 0:7ea255c76189 0.10 0.03 •mavencentral
-cv-editorial_blue 0:4e484fca00bb 0.11 -0.04 •sonatypeossrh
-cv-editorial_blue 0:feaf5883619f 0.11 0.05 •gpgsigning
-cv-editorial_blue 0:11f34b7449a4 0.11 0.03 •semanticversioningdiscipline
+cv-editorial_blue 0:8447174c8fff -0.08 -0.04 •java21
+cv-editorial_blue 0:4797e5b5555b -0.08 0.05 •kotlin
+cv-editorial_blue 0:44408890ac29 -0.08 0.03 •groovy
+cv-editorial_blue 0:9b676a2ec3c3 -0.08 0.03 •python
+cv-editorial_blue 0:c96e7be4e2bd -0.07 -0.04 •sql
+cv-editorial_blue 0:5bf26a4a07e7 -0.07 0.05 •pdfbox
+cv-editorial_blue 0:60bb71068aa6 -0.07 0.03 •apachepoi(docx/xlsx)
+cv-editorial_blue 0:8af129f35b4a -0.07 0.03 •itext
+cv-editorial_blue 0:af16271643f5 -0.07 -0.04 •postscript
+cv-editorial_blue 0:52014e35429b -0.07 0.05 •icccolourprofiles
+cv-editorial_blue 0:5cc4da0e31ab -0.07 0.03 •fontmetrics
+cv-editorial_blue 0:ffd06dc07d03 -0.07 0.03 •customdsldesign
+cv-editorial_blue 0:b3307292a943 -0.06 -0.04 •semanticlayouttrees
+cv-editorial_blue 0:6a0bf046882f -0.06 0.05 •pagination
+cv-editorial_blue 0:8d5738dcdcbd -0.06 0.03 •snapshottesting
+cv-editorial_blue 0:8f39f0146d0e -0.06 0.03 •visualregression
+cv-editorial_blue 0:a26a92311896 -0.03 -0.04 •maven
+cv-editorial_blue 0:d1002e9575f5 -0.03 0.05 •gradle
+cv-editorial_blue 0:e7b0f50a3bf3 -0.03 0.03 •githubactions
+cv-editorial_blue 0:193e87ad43b7 -0.03 0.03 •jitpack
+cv-editorial_blue 0:193e87ad43b7#1 -0.13 0.03 •jitpack
+cv-editorial_blue 0:62e29bf5f417 -0.02 -0.04 •docker
+cv-editorial_blue 0:83844532ef02 -0.02 0.05 •jmhbenchmarking
+cv-editorial_blue 0:8a7a4807b03b -0.02 0.03 •junit5
+cv-editorial_blue 0:40aaef8fe2a9 -0.02 0.03 •assertj
+cv-editorial_blue 0:a736ceace0f5 -0.14 -0.04 •pdfbox-basedpngdiff
+cv-editorial_blue 0:9a38eea08d15 -0.14 0.05 •layout-graphsnapshots
+cv-editorial_blue 0:0d50de959d19 -0.14 0.03 •mutationtesting(pitest)
+cv-editorial_blue 0:7ea255c76189 -0.14 0.03 •mavencentral
+cv-editorial_blue 0:4e484fca00bb -0.13 -0.04 •sonatypeossrh
+cv-editorial_blue 0:feaf5883619f -0.13 0.05 •gpgsigning
+cv-editorial_blue 0:11f34b7449a4 -0.13 0.03 •semanticversioningdiscipline
cv-editorial_blue 0:68bf0109c6f8 -0.05 -0.04 education
cv-editorial_blue 0:78cdd0bfd1ce -0.10 -0.04 msccomputerscience2019-2021
cv-editorial_blue 0:47ce0218bbea -0.10 -0.04 universityofmanchester
@@ -1823,40 +1823,40 @@ invoice-classic 0:fbeea547d99e -0.03 0.01 london,uk
invoice-classic 0:faf1569a98e9 0.02 0.01 ec1a4gc
invoice-classic 0:befc6e9b5c24 -0.06 0.01 billing@graphcompose.dev
invoice-classic 0:89674e6f130e -0.13 0.01 +442055551000
-invoice-classic 0:c9046f7a37ad 0.16 0.04 description
-invoice-classic 0:32e8369a9c4f 0.16 1.01 qty
-invoice-classic 0:385cfdbc00ec 0.16 1.01 unit
-invoice-classic 0:cf38d95c9c6b 0.16 1.03 amount
-invoice-classic 0:987c6297d0a9 0.19 -0.04 discoveryworkshop
-invoice-classic 0:532674c6eb89 0.19 1.05 gbp1,450
-invoice-classic 0:532674c6eb89#1 0.19 1.07 gbp1,450
-invoice-classic 0:08ec6deb1c40 0.24 -0.04 templatearchitecture2
-invoice-classic 0:d2e67c4b1cca 0.24 1.05 gbp980
-invoice-classic 0:d6cdf6a05754 0.24 1.07 gbp1,960
-invoice-classic 0:fe13f8ee4f99 0.17 -0.04 renderqa
-invoice-classic 0:7e7398cbff7c 0.17 1.05 gbp320
-invoice-classic 0:e23164e940c7 0.17 1.07 gbp960
-invoice-classic 0:6047df51175c 0.22 -0.04 developerenablement1
-invoice-classic 0:c2ad01ea64ae 0.22 1.05 gbp780
-invoice-classic 0:c2ad01ea64ae#1 0.22 1.07 gbp780
-invoice-classic 0:d6577e95efba 0.23 1.02 subtotal
-invoice-classic 0:50cae0510231 0.23 1.05 gbp5,150
-invoice-classic 0:a52611c9261b 0.30 1.02 vat(20%)
-invoice-classic 0:d7f4425b8b16 0.30 1.05 gbp1,030
-invoice-classic 0:11239872d178 0.19 0.98 total
-invoice-classic 0:45a5ad5ad430 0.19 1.01 gbp6,180
-invoice-classic 0:ab5aa97074c4 0.21 0.04 notes
-invoice-classic 0:b78eb53cbd11 0.24 0.04 •pleaseincludetheinvoicenumberon
-invoice-classic 0:8c8fd62f15a7 0.25 0.00 yourremittanceadvice.
-invoice-classic 0:f73f1b89e354 0.26 0.04 •allworkwasdeliveredasagreedduri
+invoice-classic 0:c9046f7a37ad 0.04 0.04 description
+invoice-classic 0:32e8369a9c4f 0.04 1.01 qty
+invoice-classic 0:385cfdbc00ec 0.04 1.01 unit
+invoice-classic 0:cf38d95c9c6b 0.04 1.03 amount
+invoice-classic 0:987c6297d0a9 -0.05 -0.04 discoveryworkshop
+invoice-classic 0:532674c6eb89 -0.05 1.05 gbp1,450
+invoice-classic 0:532674c6eb89#1 -0.05 1.07 gbp1,450
+invoice-classic 0:08ec6deb1c40 0.00 -0.04 templatearchitecture2
+invoice-classic 0:d2e67c4b1cca 0.00 1.05 gbp980
+invoice-classic 0:d6cdf6a05754 0.00 1.07 gbp1,960
+invoice-classic 0:fe13f8ee4f99 -0.07 -0.04 renderqa
+invoice-classic 0:7e7398cbff7c -0.07 1.05 gbp320
+invoice-classic 0:e23164e940c7 -0.07 1.07 gbp960
+invoice-classic 0:6047df51175c -0.02 -0.04 developerenablement1
+invoice-classic 0:c2ad01ea64ae -0.02 1.05 gbp780
+invoice-classic 0:c2ad01ea64ae#1 -0.02 1.07 gbp780
+invoice-classic 0:d6577e95efba -0.13 1.02 subtotal
+invoice-classic 0:50cae0510231 -0.13 1.05 gbp5,150
+invoice-classic 0:a52611c9261b -0.06 1.02 vat(20%)
+invoice-classic 0:d7f4425b8b16 -0.06 1.05 gbp1,030
+invoice-classic 0:11239872d178 -0.05 0.98 total
+invoice-classic 0:45a5ad5ad430 -0.05 1.01 gbp6,180
+invoice-classic 0:ab5aa97074c4 0.09 0.04 notes
+invoice-classic 0:b78eb53cbd11 0.12 0.04 •pleaseincludetheinvoicenumberon
+invoice-classic 0:8c8fd62f15a7 0.13 0.00 yourremittanceadvice.
+invoice-classic 0:f73f1b89e354 0.14 0.04 •allworkwasdeliveredasagreedduri
invoice-classic 0:49c1ececed52 0.15 0.00 theaprilimplementationwindow.
-invoice-classic 0:fb854bac39c8 0.21 0.07 paymentterms
-invoice-classic 0:24274f39b50b 0.24 0.07 •paymentduewithin14calendardays.
-invoice-classic 0:c438440ba377 0.25 0.07 •banktransferpreferred;contact
-invoice-classic 0:434cc906ae90 0.26 0.04 billing@graphcompose.devfor
+invoice-classic 0:fb854bac39c8 0.09 0.07 paymentterms
+invoice-classic 0:24274f39b50b 0.12 0.07 •paymentduewithin14calendardays.
+invoice-classic 0:c438440ba377 0.13 0.07 •banktransferpreferred;contact
+invoice-classic 0:434cc906ae90 0.14 0.04 billing@graphcompose.devfor
invoice-classic 0:8822ea375315 0.15 0.04 remittancedetails.
-invoice-classic 0:1a7b5c840e25 0.16 0.07 •latepaymentsmaydelayadditional
-invoice-classic 0:1631a06d245f 0.17 0.04 templatecustomizationwork.
+invoice-classic 0:1a7b5c840e25 0.04 0.07 •latepaymentsmaydelayadditional
+invoice-classic 0:1631a06d245f 0.05 0.04 templatecustomizationwork.
invoice-classic 0:e3337beaa171 0.04 0.00 thankyouforchoosinggraphcomposef
invoice-classic_long 0:c26c22b94338 0.51 0.00 graphcomposestudio
invoice-classic_long 0:c26c22b94338#1 0.10 0.01 graphcomposestudio
@@ -1879,151 +1879,151 @@ invoice-classic_long 0:fbeea547d99e -0.03 0.01 london,uk
invoice-classic_long 0:faf1569a98e9 0.02 0.01 ec1a4gc
invoice-classic_long 0:befc6e9b5c24 -0.06 0.01 billing@graphcompose.dev
invoice-classic_long 0:89674e6f130e -0.13 0.01 +442055551000
-invoice-classic_long 0:c9046f7a37ad 0.16 0.04 description
-invoice-classic_long 0:32e8369a9c4f 0.16 1.11 qty
-invoice-classic_long 0:385cfdbc00ec 0.16 1.13 unit
-invoice-classic_long 0:cf38d95c9c6b 0.16 1.13 amount
-invoice-classic_long 0:aa29f2f4fcb4 0.19 -0.04 discoveryworkshop—sprint1
-invoice-classic_long 0:ce4081aef7a1 0.19 1.05 gbp180
-invoice-classic_long 0:ce4081aef7a1#1 0.19 1.05 gbp180
-invoice-classic_long 0:9c9a412f0a45 0.24 -0.04 designsystemaudit—sprint1
-invoice-classic_long 0:7be809cb1590 0.24 1.05 gbp217
-invoice-classic_long 0:378b363c8601 0.24 1.05 gbp434
-invoice-classic_long 0:5257532a7b5d 0.17 -0.04 templatearchitecture—sprint1
-invoice-classic_long 0:c467cca4e45a 0.17 1.05 gbp254
-invoice-classic_long 0:4a4a218b012a 0.17 1.05 gbp762
-invoice-classic_long 0:58a1caacbf7e 0.22 -0.04 layoutenginetuning—sprint1
-invoice-classic_long 0:dde0144b97b7 0.22 1.05 gbp291
-invoice-classic_long 0:457a71636ad9 0.22 1.05 gbp1164
-invoice-classic_long 0:6fcf7d6dd606 0.27 -0.04 renderqapass—sprint1
-invoice-classic_long 0:dda88f5786f5 0.27 1.05 gbp328
-invoice-classic_long 0:dda88f5786f5#1 0.27 1.05 gbp328
-invoice-classic_long 0:ee18ad3bbb42 0.20 -0.04 accessibilityreview—sprint1
-invoice-classic_long 0:e681b4843ffb 0.20 1.05 gbp365
-invoice-classic_long 0:1859c20b35dd 0.20 1.05 gbp730
-invoice-classic_long 0:c12c14945fcd 0.27 -0.04 fontpipelinesetup—sprint1
-invoice-classic_long 0:9033a33f66e7 0.27 1.05 gbp402
-invoice-classic_long 0:837d48c1ff40 0.27 1.05 gbp1206
-invoice-classic_long 0:af6cba848dc0 0.20 -0.04 chartintegration—sprint1
-invoice-classic_long 0:6109a2c30104 0.20 1.05 gbp439
-invoice-classic_long 0:87e9fcb6151d 0.20 1.05 gbp1756
-invoice-classic_long 0:a6bee1ec5e35 0.25 -0.04 datamapping—sprint1
-invoice-classic_long 0:df1f9d4443d8 0.25 1.05 gbp476
-invoice-classic_long 0:df1f9d4443d8#1 0.25 1.05 gbp476
-invoice-classic_long 0:052c9f49a4b8 0.30 -0.04 paginationhardening—sprint1
-invoice-classic_long 0:9fba6332e489 0.30 1.05 gbp513
-invoice-classic_long 0:6f805c9f78c3 0.30 1.05 gbp1026
-invoice-classic_long 0:b54b7f77d86c 0.23 -0.04 visualregressionwiring—sprint13
-invoice-classic_long 0:dc3d212d6b32 0.23 1.05 gbp550
-invoice-classic_long 0:96667fee53f3 0.23 1.05 gbp1650
-invoice-classic_long 0:9fe9e123b0f0 0.28 -0.04 docsauthoring—sprint1
-invoice-classic_long 0:e7b406f24f04 0.28 1.05 gbp587
-invoice-classic_long 0:74357ca6b30e 0.28 1.05 gbp2348
-invoice-classic_long 0:9c6cf539f5bc 0.24 -0.04 stakeholderdemo—sprint1
-invoice-classic_long 0:cf79b5cdb735 0.24 1.05 gbp624
-invoice-classic_long 0:cf79b5cdb735#1 0.24 1.05 gbp624
-invoice-classic_long 0:d2bde6642670 0.29 -0.04 performanceprofiling—sprint1
-invoice-classic_long 0:679f017f73c1 0.29 1.05 gbp661
-invoice-classic_long 0:63985b524723 0.29 1.05 gbp1322
-invoice-classic_long 0:f82bef1ac80d 0.34 -0.04 releaseengineering—sprint1
-invoice-classic_long 0:0b21b7cf2ff9 0.34 1.05 gbp698
-invoice-classic_long 0:6afc08056aaa 0.34 1.05 gbp2094
-invoice-classic_long 0:632f71e8ff8b 0.27 -0.04 supportretainer—sprint1
-invoice-classic_long 0:70b393b5fb10 0.27 1.05 gbp735
-invoice-classic_long 0:29edf7588a57 0.27 1.05 gbp2940
-invoice-classic_long 0:82a9218b91ae 0.32 -0.04 discoveryworkshop—sprint2
-invoice-classic_long 0:c313f34b71b9 0.32 1.05 gbp772
-invoice-classic_long 0:c313f34b71b9#1 0.32 1.05 gbp772
-invoice-classic_long 0:7e69fbffe3e2 0.25 -0.04 designsystemaudit—sprint2
-invoice-classic_long 0:e096e4fddf9a 0.25 1.05 gbp809
-invoice-classic_long 0:c985a0123929 0.25 1.05 gbp1618
-invoice-classic_long 0:899f0392eecb 0.30 -0.04 templatearchitecture—sprint2
-invoice-classic_long 0:4c973ddb9245 0.30 1.05 gbp846
-invoice-classic_long 0:6ec359ce3927 0.30 1.05 gbp2538
-invoice-classic_long 0:69523ba7402c 0.25 -0.04 layoutenginetuning—sprint2
-invoice-classic_long 0:0e196c2b490b 0.25 1.05 gbp883
-invoice-classic_long 0:6e0d19ab72c6 0.25 1.05 gbp3532
-invoice-classic_long 1:c9046f7a37ad 0.18 0.04 description
-invoice-classic_long 1:32e8369a9c4f 0.18 1.11 qty
-invoice-classic_long 1:385cfdbc00ec 0.18 1.13 unit
-invoice-classic_long 1:cf38d95c9c6b 0.18 1.13 amount
-invoice-classic_long 1:f12cbb7c274d 0.21 -0.04 renderqapass—sprint2
-invoice-classic_long 1:b813c73bc488 0.21 1.05 gbp920
-invoice-classic_long 1:b813c73bc488#1 0.21 1.05 gbp920
-invoice-classic_long 1:12cd54b50187 0.26 -0.04 accessibilityreview—sprint2
-invoice-classic_long 1:377d92702316 0.26 1.05 gbp957
-invoice-classic_long 1:e7c66f6cf477 0.26 1.05 gbp1914
-invoice-classic_long 1:e3d8409ace07 0.21 -0.04 fontpipelinesetup—sprint2
-invoice-classic_long 1:21604b8f0b36 0.21 1.05 gbp994
-invoice-classic_long 1:fe15ed444063 0.21 1.05 gbp2982
-invoice-classic_long 1:ca4d3c8eca22 0.26 -0.04 chartintegration—sprint2
-invoice-classic_long 1:a4c7a6612c99 0.26 1.05 gbp1031
-invoice-classic_long 1:1c83f0b47e27 0.26 1.05 gbp4124
-invoice-classic_long 1:00de69c6e70f 0.31 -0.04 datamapping—sprint2
-invoice-classic_long 1:b9d5c56a2cfd 0.31 1.05 gbp1068
-invoice-classic_long 1:b9d5c56a2cfd#1 0.31 1.05 gbp1068
-invoice-classic_long 1:eb628b5ea8ab 0.24 -0.04 paginationhardening—sprint2
-invoice-classic_long 1:db5327b47d0e 0.24 1.05 gbp205
-invoice-classic_long 1:99d9b3b49da2 0.24 1.05 gbp410
-invoice-classic_long 1:505693cbc91e 0.29 -0.04 visualregressionwiring—sprint23
-invoice-classic_long 1:9f0c5094fb63 0.29 1.05 gbp242
-invoice-classic_long 1:095b72c9d880 0.29 1.05 gbp726
-invoice-classic_long 1:2a787e61730a 0.22 -0.04 docsauthoring—sprint2
-invoice-classic_long 1:28ad00e76aef 0.22 1.05 gbp279
-invoice-classic_long 1:fbb12fed0bbc 0.22 1.05 gbp1116
-invoice-classic_long 1:5369a2c40ff8 0.27 -0.04 stakeholderdemo—sprint2
-invoice-classic_long 1:16562cbcd318 0.27 1.05 gbp316
-invoice-classic_long 1:16562cbcd318#1 0.27 1.05 gbp316
-invoice-classic_long 1:611b258cb41e 0.23 -0.04 performanceprofiling—sprint2
-invoice-classic_long 1:e391d4e46366 0.23 1.05 gbp353
-invoice-classic_long 1:7106c00cb009 0.23 1.05 gbp706
-invoice-classic_long 1:d24a15800df1 0.28 -0.04 releaseengineering—sprint2
-invoice-classic_long 1:4bed9b4092ee 0.28 1.05 gbp390
-invoice-classic_long 1:ae16cd1e31b1 0.28 1.05 gbp1170
-invoice-classic_long 1:6876c7b0fe66 0.33 -0.04 supportretainer—sprint2
-invoice-classic_long 1:909481a45a34 0.33 1.05 gbp427
-invoice-classic_long 1:4e58d78d0958 0.33 1.05 gbp1708
-invoice-classic_long 1:ddce236bccd7 0.26 -0.04 discoveryworkshop—sprint3
-invoice-classic_long 1:f8d17c11d834 0.26 1.05 gbp464
-invoice-classic_long 1:f8d17c11d834#1 0.26 1.05 gbp464
-invoice-classic_long 1:c0986cd7b1d4 0.31 -0.04 designsystemaudit—sprint3
-invoice-classic_long 1:09c7aebd89f6 0.31 1.05 gbp501
-invoice-classic_long 1:a61c7b6bdd20 0.31 1.05 gbp1002
-invoice-classic_long 1:21fd82d170b2 0.24 -0.04 templatearchitecture—sprint3
-invoice-classic_long 1:399e39a6eff5 0.24 1.05 gbp538
-invoice-classic_long 1:81ea39164f41 0.24 1.05 gbp1614
-invoice-classic_long 1:47cb1e683e8d 0.31 -0.04 layoutenginetuning—sprint3
-invoice-classic_long 1:f6df6e8e8f30 0.31 1.05 gbp575
-invoice-classic_long 1:7f7db0f4c1cf 0.31 1.05 gbp2300
-invoice-classic_long 1:608e31719f07 0.36 -0.04 renderqapass—sprint3
-invoice-classic_long 1:e4fbc626999e 0.36 1.05 gbp612
-invoice-classic_long 1:e4fbc626999e#1 0.36 1.05 gbp612
-invoice-classic_long 1:98bfb4deb0b7 0.29 -0.04 accessibilityreview—sprint3
-invoice-classic_long 1:7915a839b285 0.29 1.05 gbp649
-invoice-classic_long 1:ca74221d78ad 0.29 1.05 gbp1298
-invoice-classic_long 1:375dddcbee43 0.34 -0.04 fontpipelinesetup—sprint3
-invoice-classic_long 1:7b97f0ac8a87 0.34 1.05 gbp686
-invoice-classic_long 1:6a57f6a84a1c 0.34 1.05 gbp2058
-invoice-classic_long 1:2f4f507058ff 0.27 -0.04 chartintegration—sprint3
-invoice-classic_long 1:74df855b318c 0.27 1.05 gbp723
-invoice-classic_long 1:78016cdf49ca 0.27 1.05 gbp2892
-invoice-classic_long 1:d6577e95efba 0.28 1.02 subtotal
-invoice-classic_long 1:5969b6461056 0.28 1.05 gbp44,890
-invoice-classic_long 1:a52611c9261b 0.36 1.02 vat(20%)
-invoice-classic_long 1:e7fda33332e9 0.36 1.05 gbp8,978
-invoice-classic_long 1:11239872d178 0.25 0.98 total
-invoice-classic_long 1:90b9dec01ea9 0.25 1.01 gbp53,868
-invoice-classic_long 1:ab5aa97074c4 0.27 0.04 notes
-invoice-classic_long 1:970fb4bf9d95 0.30 0.04 •sprints1-3weredeliveredunderthe
-invoice-classic_long 1:a781fa6c76d2 0.31 0.00 frameworkagreement.
-invoice-classic_long 1:c980fb1ebf98 0.32 0.04 •hardwareandthird-partylicencesa
-invoice-classic_long 1:be1dea5817a5 0.33 0.00 billedseparately.
-invoice-classic_long 1:fb854bac39c8 0.27 0.07 paymentterms
-invoice-classic_long 1:24274f39b50b 0.30 0.07 •paymentduewithin14calendardays.
-invoice-classic_long 1:c438440ba377 0.31 0.07 •banktransferpreferred;contact
-invoice-classic_long 1:434cc906ae90 0.32 0.04 billing@graphcompose.devfor
-invoice-classic_long 1:8822ea375315 0.33 0.04 remittancedetails.
-invoice-classic_long 1:e3337beaa171 0.17 0.00 thankyouforchoosinggraphcomposef
+invoice-classic_long 0:c9046f7a37ad 0.04 0.04 description
+invoice-classic_long 0:32e8369a9c4f 0.04 1.11 qty
+invoice-classic_long 0:385cfdbc00ec 0.04 1.13 unit
+invoice-classic_long 0:cf38d95c9c6b 0.04 1.13 amount
+invoice-classic_long 0:aa29f2f4fcb4 -0.05 -0.04 discoveryworkshop—sprint1
+invoice-classic_long 0:ce4081aef7a1 -0.05 1.05 gbp180
+invoice-classic_long 0:ce4081aef7a1#1 -0.05 1.05 gbp180
+invoice-classic_long 0:9c9a412f0a45 0.00 -0.04 designsystemaudit—sprint1
+invoice-classic_long 0:7be809cb1590 0.00 1.05 gbp217
+invoice-classic_long 0:378b363c8601 0.00 1.05 gbp434
+invoice-classic_long 0:5257532a7b5d -0.07 -0.04 templatearchitecture—sprint1
+invoice-classic_long 0:c467cca4e45a -0.07 1.05 gbp254
+invoice-classic_long 0:4a4a218b012a -0.07 1.05 gbp762
+invoice-classic_long 0:58a1caacbf7e -0.02 -0.04 layoutenginetuning—sprint1
+invoice-classic_long 0:dde0144b97b7 -0.02 1.05 gbp291
+invoice-classic_long 0:457a71636ad9 -0.02 1.05 gbp1164
+invoice-classic_long 0:6fcf7d6dd606 0.03 -0.04 renderqapass—sprint1
+invoice-classic_long 0:dda88f5786f5 0.03 1.05 gbp328
+invoice-classic_long 0:dda88f5786f5#1 0.03 1.05 gbp328
+invoice-classic_long 0:ee18ad3bbb42 -0.04 -0.04 accessibilityreview—sprint1
+invoice-classic_long 0:e681b4843ffb -0.04 1.05 gbp365
+invoice-classic_long 0:1859c20b35dd -0.04 1.05 gbp730
+invoice-classic_long 0:c12c14945fcd 0.03 -0.04 fontpipelinesetup—sprint1
+invoice-classic_long 0:9033a33f66e7 0.03 1.05 gbp402
+invoice-classic_long 0:837d48c1ff40 0.03 1.05 gbp1206
+invoice-classic_long 0:af6cba848dc0 -0.04 -0.04 chartintegration—sprint1
+invoice-classic_long 0:6109a2c30104 -0.04 1.05 gbp439
+invoice-classic_long 0:87e9fcb6151d -0.04 1.05 gbp1756
+invoice-classic_long 0:a6bee1ec5e35 0.01 -0.04 datamapping—sprint1
+invoice-classic_long 0:df1f9d4443d8 0.01 1.05 gbp476
+invoice-classic_long 0:df1f9d4443d8#1 0.01 1.05 gbp476
+invoice-classic_long 0:052c9f49a4b8 0.06 -0.04 paginationhardening—sprint1
+invoice-classic_long 0:9fba6332e489 0.06 1.05 gbp513
+invoice-classic_long 0:6f805c9f78c3 0.06 1.05 gbp1026
+invoice-classic_long 0:b54b7f77d86c -0.01 -0.04 visualregressionwiring—sprint13
+invoice-classic_long 0:dc3d212d6b32 -0.01 1.05 gbp550
+invoice-classic_long 0:96667fee53f3 -0.01 1.05 gbp1650
+invoice-classic_long 0:9fe9e123b0f0 0.04 -0.04 docsauthoring—sprint1
+invoice-classic_long 0:e7b406f24f04 0.04 1.05 gbp587
+invoice-classic_long 0:74357ca6b30e 0.04 1.05 gbp2348
+invoice-classic_long 0:9c6cf539f5bc 0.00 -0.04 stakeholderdemo—sprint1
+invoice-classic_long 0:cf79b5cdb735 0.00 1.05 gbp624
+invoice-classic_long 0:cf79b5cdb735#1 0.00 1.05 gbp624
+invoice-classic_long 0:d2bde6642670 0.05 -0.04 performanceprofiling—sprint1
+invoice-classic_long 0:679f017f73c1 0.05 1.05 gbp661
+invoice-classic_long 0:63985b524723 0.05 1.05 gbp1322
+invoice-classic_long 0:f82bef1ac80d -0.02 -0.04 releaseengineering—sprint1
+invoice-classic_long 0:0b21b7cf2ff9 -0.02 1.05 gbp698
+invoice-classic_long 0:6afc08056aaa -0.02 1.05 gbp2094
+invoice-classic_long 0:632f71e8ff8b 0.03 -0.04 supportretainer—sprint1
+invoice-classic_long 0:70b393b5fb10 0.03 1.05 gbp735
+invoice-classic_long 0:29edf7588a57 0.03 1.05 gbp2940
+invoice-classic_long 0:82a9218b91ae 0.08 -0.04 discoveryworkshop—sprint2
+invoice-classic_long 0:c313f34b71b9 0.08 1.05 gbp772
+invoice-classic_long 0:c313f34b71b9#1 0.08 1.05 gbp772
+invoice-classic_long 0:7e69fbffe3e2 0.01 -0.04 designsystemaudit—sprint2
+invoice-classic_long 0:e096e4fddf9a 0.01 1.05 gbp809
+invoice-classic_long 0:c985a0123929 0.01 1.05 gbp1618
+invoice-classic_long 0:899f0392eecb 0.06 -0.04 templatearchitecture—sprint2
+invoice-classic_long 0:4c973ddb9245 0.06 1.05 gbp846
+invoice-classic_long 0:6ec359ce3927 0.06 1.05 gbp2538
+invoice-classic_long 0:69523ba7402c 0.01 -0.04 layoutenginetuning—sprint2
+invoice-classic_long 0:0e196c2b490b 0.01 1.05 gbp883
+invoice-classic_long 0:6e0d19ab72c6 0.01 1.05 gbp3532
+invoice-classic_long 1:c9046f7a37ad -0.06 0.04 description
+invoice-classic_long 1:32e8369a9c4f -0.06 1.11 qty
+invoice-classic_long 1:385cfdbc00ec -0.06 1.13 unit
+invoice-classic_long 1:cf38d95c9c6b -0.06 1.13 amount
+invoice-classic_long 1:f12cbb7c274d -0.15 -0.04 renderqapass—sprint2
+invoice-classic_long 1:b813c73bc488 -0.15 1.05 gbp920
+invoice-classic_long 1:b813c73bc488#1 -0.15 1.05 gbp920
+invoice-classic_long 1:12cd54b50187 -0.10 -0.04 accessibilityreview—sprint2
+invoice-classic_long 1:377d92702316 -0.10 1.05 gbp957
+invoice-classic_long 1:e7c66f6cf477 -0.10 1.05 gbp1914
+invoice-classic_long 1:e3d8409ace07 -0.15 -0.04 fontpipelinesetup—sprint2
+invoice-classic_long 1:21604b8f0b36 -0.15 1.05 gbp994
+invoice-classic_long 1:fe15ed444063 -0.15 1.05 gbp2982
+invoice-classic_long 1:ca4d3c8eca22 -0.10 -0.04 chartintegration—sprint2
+invoice-classic_long 1:a4c7a6612c99 -0.10 1.05 gbp1031
+invoice-classic_long 1:1c83f0b47e27 -0.10 1.05 gbp4124
+invoice-classic_long 1:00de69c6e70f -0.05 -0.04 datamapping—sprint2
+invoice-classic_long 1:b9d5c56a2cfd -0.05 1.05 gbp1068
+invoice-classic_long 1:b9d5c56a2cfd#1 -0.05 1.05 gbp1068
+invoice-classic_long 1:eb628b5ea8ab -0.12 -0.04 paginationhardening—sprint2
+invoice-classic_long 1:db5327b47d0e -0.12 1.05 gbp205
+invoice-classic_long 1:99d9b3b49da2 -0.12 1.05 gbp410
+invoice-classic_long 1:505693cbc91e -0.07 -0.04 visualregressionwiring—sprint23
+invoice-classic_long 1:9f0c5094fb63 -0.07 1.05 gbp242
+invoice-classic_long 1:095b72c9d880 -0.07 1.05 gbp726
+invoice-classic_long 1:2a787e61730a -0.14 -0.04 docsauthoring—sprint2
+invoice-classic_long 1:28ad00e76aef -0.14 1.05 gbp279
+invoice-classic_long 1:fbb12fed0bbc -0.14 1.05 gbp1116
+invoice-classic_long 1:5369a2c40ff8 -0.09 -0.04 stakeholderdemo—sprint2
+invoice-classic_long 1:16562cbcd318 -0.09 1.05 gbp316
+invoice-classic_long 1:16562cbcd318#1 -0.09 1.05 gbp316
+invoice-classic_long 1:611b258cb41e -0.01 -0.04 performanceprofiling—sprint2
+invoice-classic_long 1:e391d4e46366 -0.01 1.05 gbp353
+invoice-classic_long 1:7106c00cb009 -0.01 1.05 gbp706
+invoice-classic_long 1:d24a15800df1 -0.08 -0.04 releaseengineering—sprint2
+invoice-classic_long 1:4bed9b4092ee -0.08 1.05 gbp390
+invoice-classic_long 1:ae16cd1e31b1 -0.08 1.05 gbp1170
+invoice-classic_long 1:6876c7b0fe66 -0.03 -0.04 supportretainer—sprint2
+invoice-classic_long 1:909481a45a34 -0.03 1.05 gbp427
+invoice-classic_long 1:4e58d78d0958 -0.03 1.05 gbp1708
+invoice-classic_long 1:ddce236bccd7 -0.10 -0.04 discoveryworkshop—sprint3
+invoice-classic_long 1:f8d17c11d834 -0.10 1.05 gbp464
+invoice-classic_long 1:f8d17c11d834#1 -0.10 1.05 gbp464
+invoice-classic_long 1:c0986cd7b1d4 -0.05 -0.04 designsystemaudit—sprint3
+invoice-classic_long 1:09c7aebd89f6 -0.05 1.05 gbp501
+invoice-classic_long 1:a61c7b6bdd20 -0.05 1.05 gbp1002
+invoice-classic_long 1:21fd82d170b2 -0.12 -0.04 templatearchitecture—sprint3
+invoice-classic_long 1:399e39a6eff5 -0.12 1.05 gbp538
+invoice-classic_long 1:81ea39164f41 -0.12 1.05 gbp1614
+invoice-classic_long 1:47cb1e683e8d -0.05 -0.04 layoutenginetuning—sprint3
+invoice-classic_long 1:f6df6e8e8f30 -0.05 1.05 gbp575
+invoice-classic_long 1:7f7db0f4c1cf -0.05 1.05 gbp2300
+invoice-classic_long 1:608e31719f07 0.00 -0.04 renderqapass—sprint3
+invoice-classic_long 1:e4fbc626999e 0.00 1.05 gbp612
+invoice-classic_long 1:e4fbc626999e#1 0.00 1.05 gbp612
+invoice-classic_long 1:98bfb4deb0b7 -0.07 -0.04 accessibilityreview—sprint3
+invoice-classic_long 1:7915a839b285 -0.07 1.05 gbp649
+invoice-classic_long 1:ca74221d78ad -0.07 1.05 gbp1298
+invoice-classic_long 1:375dddcbee43 -0.02 -0.04 fontpipelinesetup—sprint3
+invoice-classic_long 1:7b97f0ac8a87 -0.02 1.05 gbp686
+invoice-classic_long 1:6a57f6a84a1c -0.02 1.05 gbp2058
+invoice-classic_long 1:2f4f507058ff -0.09 -0.04 chartintegration—sprint3
+invoice-classic_long 1:74df855b318c -0.09 1.05 gbp723
+invoice-classic_long 1:78016cdf49ca -0.09 1.05 gbp2892
+invoice-classic_long 1:d6577e95efba -0.20 1.02 subtotal
+invoice-classic_long 1:5969b6461056 -0.20 1.05 gbp44,890
+invoice-classic_long 1:a52611c9261b -0.12 1.02 vat(20%)
+invoice-classic_long 1:e7fda33332e9 -0.12 1.05 gbp8,978
+invoice-classic_long 1:11239872d178 -0.11 0.98 total
+invoice-classic_long 1:90b9dec01ea9 -0.11 1.01 gbp53,868
+invoice-classic_long 1:ab5aa97074c4 0.03 0.04 notes
+invoice-classic_long 1:970fb4bf9d95 0.06 0.04 •sprints1-3weredeliveredunderthe
+invoice-classic_long 1:a781fa6c76d2 0.07 0.00 frameworkagreement.
+invoice-classic_long 1:c980fb1ebf98 0.08 0.04 •hardwareandthird-partylicencesa
+invoice-classic_long 1:be1dea5817a5 0.09 0.00 billedseparately.
+invoice-classic_long 1:fb854bac39c8 0.03 0.07 paymentterms
+invoice-classic_long 1:24274f39b50b 0.06 0.07 •paymentduewithin14calendardays.
+invoice-classic_long 1:c438440ba377 0.07 0.07 •banktransferpreferred;contact
+invoice-classic_long 1:434cc906ae90 0.08 0.04 billing@graphcompose.devfor
+invoice-classic_long 1:8822ea375315 0.09 0.04 remittancedetails.
+invoice-classic_long 1:e3337beaa171 -0.07 0.00 thankyouforchoosinggraphcomposef
invoice-consulting 0:d44ceaea97d1 0.26 0.02 level8,1collinsstreet
invoice-consulting 0:78a0bb33347f 0.33 0.02 melbournevic3000australia
invoice-consulting 0:3b45ab243edb 0.51 0.02 +61398765432
@@ -2052,45 +2052,45 @@ invoice-consulting 0:cfebda697822 0.24 0.17 invoicesummary
invoice-consulting 0:5656f37a9311 0.20 0.17 professionalservicesrenderedinac
invoice-consulting 0:a918299ac844 0.21 0.17 statementofworkfortheperiod
invoice-consulting 0:3fa8489d9aac 0.21 0.17 1may2025–25may2025.
-invoice-consulting 0:c9046f7a37ad 0.74 -0.54 description
-invoice-consulting 0:b28225a1247c 0.74 -0.56 serviceperiod
-invoice-consulting 0:32e8369a9c4f 0.74 -0.18 qty
-invoice-consulting 0:d1062d072acd 0.75 -0.32 unitprice
-invoice-consulting 0:3ff0b4a2706b 0.73 -0.16 (aud)
-invoice-consulting 0:3ff0b4a2706b#1 0.73 -0.11 (aud)
-invoice-consulting 0:cf38d95c9c6b 0.75 -0.24 amount
-invoice-consulting 0:b344321f5471 0.84 0.40 1–10may2025
-invoice-consulting 0:a8994a9020c4 0.86 0.06 10.00
-invoice-consulting 0:4e9682fa850e 0.83 0.08 hrs
-invoice-consulting 0:4e9682fa850e#1 0.86 0.08 hrs
-invoice-consulting 0:aa92f0e23a97 0.84 0.51 250.00
-invoice-consulting 0:e48d9b7a2993 0.84 0.50 2,500.00
-invoice-consulting 0:1bcfde966d94 0.59 0.09 strategicconsultation
+invoice-consulting 0:c9046f7a37ad 0.14 -0.54 description
+invoice-consulting 0:b28225a1247c 0.14 -0.56 serviceperiod
+invoice-consulting 0:32e8369a9c4f 0.14 -0.18 qty
+invoice-consulting 0:d1062d072acd 0.15 -0.32 unitprice
+invoice-consulting 0:3ff0b4a2706b 0.25 -0.16 (aud)
+invoice-consulting 0:3ff0b4a2706b#1 0.25 -0.11 (aud)
+invoice-consulting 0:cf38d95c9c6b 0.15 -0.24 amount
+invoice-consulting 0:b344321f5471 0.24 0.40 1–10may2025
+invoice-consulting 0:a8994a9020c4 0.26 0.06 10.00
+invoice-consulting 0:4e9682fa850e 0.23 0.08 hrs
+invoice-consulting 0:4e9682fa850e#1 0.38 0.08 hrs
+invoice-consulting 0:aa92f0e23a97 0.24 0.51 250.00
+invoice-consulting 0:e48d9b7a2993 0.24 0.50 2,500.00
+invoice-consulting 0:1bcfde966d94 0.47 0.09 strategicconsultation
invoice-consulting 0:fd3ca268f319 0.55 0.09 leadershipalignmentworkshops
-invoice-consulting 0:8d93e0c47a8c 0.85 0.40 1–15may2025
-invoice-consulting 0:cf9dcf6da8a8 0.87 0.08 1.00
-invoice-consulting 0:cf9dcf6da8a8#1 0.88 0.08 1.00
-invoice-consulting 0:cf9dcf6da8a8#2 0.92 0.08 1.00
-invoice-consulting 0:97e47b250054 0.85 0.54 3,500.00
-invoice-consulting 0:97e47b250054#1 0.85 0.49 3,500.00
-invoice-consulting 0:5581aef375ff 0.60 0.09 market&competitiveanalysis
+invoice-consulting 0:8d93e0c47a8c 0.25 0.40 1–15may2025
+invoice-consulting 0:cf9dcf6da8a8 0.27 0.08 1.00
+invoice-consulting 0:cf9dcf6da8a8#1 0.28 0.08 1.00
+invoice-consulting 0:cf9dcf6da8a8#2 0.44 0.08 1.00
+invoice-consulting 0:97e47b250054 0.25 0.54 3,500.00
+invoice-consulting 0:97e47b250054#1 0.25 0.49 3,500.00
+invoice-consulting 0:5581aef375ff 0.48 0.09 market&competitiveanalysis
invoice-consulting 0:957080ea09d9 0.56 0.09 researchandanalysisreport
-invoice-consulting 0:47102c31f226 0.86 0.37 5–20may2025
-invoice-consulting 0:ec6305055be9 0.86 0.63 4,800.00
-invoice-consulting 0:ec6305055be9#1 0.86 0.57 4,800.00
-invoice-consulting 0:53dea97cf116 0.61 0.09 digitalroadmapdevelopment
+invoice-consulting 0:47102c31f226 0.26 0.37 5–20may2025
+invoice-consulting 0:ec6305055be9 0.26 0.63 4,800.00
+invoice-consulting 0:ec6305055be9#1 0.26 0.57 4,800.00
+invoice-consulting 0:53dea97cf116 0.49 0.09 digitalroadmapdevelopment
invoice-consulting 0:acf357e68297 0.57 0.09 strategyandroadmapcreation
-invoice-consulting 0:c947fb16eab2 0.87 0.43 15–22may2025
-invoice-consulting 0:017144e2271f 0.89 0.07 6.00
-invoice-consulting 0:be6012a47af0 0.87 0.47 220.00
-invoice-consulting 0:172c0a785bc7 0.87 0.50 1,320.00
+invoice-consulting 0:c947fb16eab2 0.39 0.43 15–22may2025
+invoice-consulting 0:017144e2271f 0.29 0.07 6.00
+invoice-consulting 0:be6012a47af0 0.39 0.47 220.00
+invoice-consulting 0:172c0a785bc7 0.39 0.50 1,320.00
invoice-consulting 0:fe04037aa850 0.62 0.09 stakeholderreviewsessions
-invoice-consulting 0:4658a1bff292 0.70 0.09 facilitationanddocumentation
-invoice-consulting 0:86f73207c794 0.90 0.40 20–25may2025
-invoice-consulting 0:55907ef405f6 0.90 0.58 1,880.00
-invoice-consulting 0:55907ef405f6#1 0.90 0.53 1,880.00
+invoice-consulting 0:4658a1bff292 0.58 0.09 facilitationanddocumentation
+invoice-consulting 0:86f73207c794 0.42 0.40 20–25may2025
+invoice-consulting 0:55907ef405f6 0.42 0.58 1,880.00
+invoice-consulting 0:55907ef405f6#1 0.42 0.53 1,880.00
invoice-consulting 0:f2e12ad6cc9f 0.65 0.09 presentation&finalreport
-invoice-consulting 0:50de6dc61b80 0.73 0.09 executivepresentationanddelivery
+invoice-consulting 0:50de6dc61b80 0.61 0.09 executivepresentationanddelivery
invoice-consulting 0:d6577e95efba 0.21 0.09 subtotal
invoice-consulting 0:6311b1798398 0.43 0.59 14,000.00
invoice-consulting 0:e370855bde0c 0.17 0.09 gst(10%)
@@ -2107,13 +2107,13 @@ invoice-consulting 0:83a417f0862b 1.05 0.04 123-456
invoice-consulting 0:6b4894c28363 1.05 -0.04 accountnumber:
invoice-consulting 0:ef797c8118f0 1.05 0.04 12345678
invoice-consulting 0:c608665436db 1.05 -0.04 reference:
-invoice-consulting 0:010450dee1ff 0.60 -0.02 pleaseensuretheinvoicenumberisin
+invoice-consulting 0:010450dee1ff 0.48 -0.02 pleaseensuretheinvoicenumberisin
invoice-consulting 0:ab5aa97074c4 0.61 0.10 notes
-invoice-consulting 0:7c6ab37d83ef 0.53 0.10 thankyouforyourbusiness.
+invoice-consulting 0:7c6ab37d83ef 0.41 0.10 thankyouforyourbusiness.
invoice-consulting 0:4a699e29a3bb 0.45 0.10 ifyouhaveanyquestionsregardingth
invoice-consulting 0:c766251af1f4 0.51 0.10 contactusataccounts@northpoint.c
-invoice-consulting 0:3d32fa219332 0.60 0.10 +61398765432.
-invoice-consulting 0:a6f6e2ddab6d 1.12 0.10 paymentisduewithin30daysfromthei
+invoice-consulting 0:3d32fa219332 0.48 0.10 +61398765432.
+invoice-consulting 0:a6f6e2ddab6d 1.00 0.10 paymentisduewithin30daysfromthei
invoice-consulting 0:55ee5fe62c33 0.15 0.06 northpointconsultingptyltd|abn12
invoice-consulting 0:bdbada284e80 0.15 0.16 page1/1
invoice-consulting_long 0:d44ceaea97d1 0.26 0.02 level8,1collinsstreet
@@ -2143,196 +2143,196 @@ invoice-consulting_long 0:cfebda697822 0.24 0.17 invoicesummary
invoice-consulting_long 0:5656f37a9311 0.20 0.17 professionalservicesrenderedinac
invoice-consulting_long 0:a918299ac844 0.21 0.17 statementofworkfortheperiod
invoice-consulting_long 0:3fa8489d9aac 0.21 0.17 1may2025–25may2025.
-invoice-consulting_long 0:c9046f7a37ad 0.74 -0.54 description
-invoice-consulting_long 0:b28225a1247c 0.74 -0.56 serviceperiod
-invoice-consulting_long 0:32e8369a9c4f 0.74 -0.18 qty
-invoice-consulting_long 0:d1062d072acd 0.75 -0.32 unitprice
-invoice-consulting_long 0:3ff0b4a2706b 0.73 -0.16 (aud)
-invoice-consulting_long 0:3ff0b4a2706b#1 0.73 -0.11 (aud)
-invoice-consulting_long 0:cf38d95c9c6b 0.75 -0.24 amount
-invoice-consulting_long 0:b344321f5471 0.84 0.40 1–10may2025
-invoice-consulting_long 0:b344321f5471#1 0.91 0.40 1–10may2025
-invoice-consulting_long 0:b344321f5471#2 1.11 0.40 1–10may2025
-invoice-consulting_long 0:a8994a9020c4 0.86 0.06 10.00
-invoice-consulting_long 0:a8994a9020c4#1 0.93 0.06 10.00
-invoice-consulting_long 0:a8994a9020c4#2 1.01 0.06 10.00
-invoice-consulting_long 0:4e9682fa850e 0.83 0.08 hrs
-invoice-consulting_long 0:4e9682fa850e#1 0.86 0.08 hrs
-invoice-consulting_long 0:4e9682fa850e#2 0.90 0.08 hrs
-invoice-consulting_long 0:4e9682fa850e#3 1.05 0.08 hrs
-invoice-consulting_long 0:4e9682fa850e#4 1.10 0.08 hrs
-invoice-consulting_long 0:4e9682fa850e#5 1.12 0.08 hrs
-invoice-consulting_long 0:aa92f0e23a97 0.84 0.51 250.00
-invoice-consulting_long 0:aa92f0e23a97#1 0.91 0.51 250.00
-invoice-consulting_long 0:aa92f0e23a97#2 1.11 0.51 250.00
-invoice-consulting_long 0:e48d9b7a2993 0.84 0.50 2,500.00
-invoice-consulting_long 0:e48d9b7a2993#1 0.91 0.50 2,500.00
-invoice-consulting_long 0:e48d9b7a2993#2 1.11 0.50 2,500.00
-invoice-consulting_long 0:1bcfde966d94 0.59 0.09 strategicconsultation
+invoice-consulting_long 0:c9046f7a37ad 0.14 -0.54 description
+invoice-consulting_long 0:b28225a1247c 0.14 -0.56 serviceperiod
+invoice-consulting_long 0:32e8369a9c4f 0.14 -0.18 qty
+invoice-consulting_long 0:d1062d072acd 0.15 -0.32 unitprice
+invoice-consulting_long 0:3ff0b4a2706b 0.25 -0.16 (aud)
+invoice-consulting_long 0:3ff0b4a2706b#1 0.25 -0.11 (aud)
+invoice-consulting_long 0:cf38d95c9c6b 0.15 -0.24 amount
+invoice-consulting_long 0:b344321f5471 0.24 0.40 1–10may2025
+invoice-consulting_long 0:b344321f5471#1 0.43 0.40 1–10may2025
+invoice-consulting_long 0:b344321f5471#2 0.51 0.40 1–10may2025
+invoice-consulting_long 0:a8994a9020c4 0.26 0.06 10.00
+invoice-consulting_long 0:a8994a9020c4#1 0.45 0.06 10.00
+invoice-consulting_long 0:a8994a9020c4#2 0.53 0.06 10.00
+invoice-consulting_long 0:4e9682fa850e 0.23 0.08 hrs
+invoice-consulting_long 0:4e9682fa850e#1 0.38 0.08 hrs
+invoice-consulting_long 0:4e9682fa850e#2 0.42 0.08 hrs
+invoice-consulting_long 0:4e9682fa850e#3 0.45 0.08 hrs
+invoice-consulting_long 0:4e9682fa850e#4 0.50 0.08 hrs
+invoice-consulting_long 0:4e9682fa850e#5 0.64 0.08 hrs
+invoice-consulting_long 0:aa92f0e23a97 0.24 0.51 250.00
+invoice-consulting_long 0:aa92f0e23a97#1 0.43 0.51 250.00
+invoice-consulting_long 0:aa92f0e23a97#2 0.51 0.51 250.00
+invoice-consulting_long 0:e48d9b7a2993 0.24 0.50 2,500.00
+invoice-consulting_long 0:e48d9b7a2993#1 0.43 0.50 2,500.00
+invoice-consulting_long 0:e48d9b7a2993#2 0.51 0.50 2,500.00
+invoice-consulting_long 0:1bcfde966d94 0.47 0.09 strategicconsultation
invoice-consulting_long 0:1bcfde966d94#1 0.66 0.09 strategicconsultation
-invoice-consulting_long 0:1bcfde966d94#2 0.86 0.09 strategicconsultation
+invoice-consulting_long 0:1bcfde966d94#2 0.74 0.09 strategicconsultation
invoice-consulting_long 0:fd3ca268f319 0.55 0.09 leadershipalignmentworkshops
-invoice-consulting_long 0:fd3ca268f319#1 0.74 0.09 leadershipalignmentworkshops
+invoice-consulting_long 0:fd3ca268f319#1 0.62 0.09 leadershipalignmentworkshops
invoice-consulting_long 0:fd3ca268f319#2 0.82 0.09 leadershipalignmentworkshops
-invoice-consulting_long 0:8d93e0c47a8c 0.85 0.40 1–15may2025
-invoice-consulting_long 0:8d93e0c47a8c#1 0.92 0.40 1–15may2025
-invoice-consulting_long 0:8d93e0c47a8c#2 1.12 0.40 1–15may2025
-invoice-consulting_long 0:cf9dcf6da8a8 0.87 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#1 0.88 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#2 0.92 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#3 0.94 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#4 0.95 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#5 0.97 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#6 1.14 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#7 1.15 0.08 1.00
-invoice-consulting_long 0:cf9dcf6da8a8#8 1.16 0.08 1.00
-invoice-consulting_long 0:97e47b250054 0.85 0.54 3,500.00
-invoice-consulting_long 0:97e47b250054#1 0.85 0.49 3,500.00
-invoice-consulting_long 0:97e47b250054#2 0.92 0.54 3,500.00
-invoice-consulting_long 0:97e47b250054#3 0.92 0.49 3,500.00
-invoice-consulting_long 0:97e47b250054#4 1.12 0.54 3,500.00
-invoice-consulting_long 0:97e47b250054#5 1.12 0.49 3,500.00
-invoice-consulting_long 0:5581aef375ff 0.60 0.09 market&competitiveanalysis
+invoice-consulting_long 0:8d93e0c47a8c 0.25 0.40 1–15may2025
+invoice-consulting_long 0:8d93e0c47a8c#1 0.44 0.40 1–15may2025
+invoice-consulting_long 0:8d93e0c47a8c#2 0.52 0.40 1–15may2025
+invoice-consulting_long 0:cf9dcf6da8a8 0.27 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#1 0.28 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#2 0.44 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#3 0.46 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#4 0.47 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#5 0.49 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#6 0.54 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#7 0.55 0.08 1.00
+invoice-consulting_long 0:cf9dcf6da8a8#8 0.56 0.08 1.00
+invoice-consulting_long 0:97e47b250054 0.25 0.54 3,500.00
+invoice-consulting_long 0:97e47b250054#1 0.25 0.49 3,500.00
+invoice-consulting_long 0:97e47b250054#2 0.44 0.54 3,500.00
+invoice-consulting_long 0:97e47b250054#3 0.44 0.49 3,500.00
+invoice-consulting_long 0:97e47b250054#4 0.52 0.54 3,500.00
+invoice-consulting_long 0:97e47b250054#5 0.52 0.49 3,500.00
+invoice-consulting_long 0:5581aef375ff 0.48 0.09 market&competitiveanalysis
invoice-consulting_long 0:5581aef375ff#1 0.67 0.09 market&competitiveanalysis
-invoice-consulting_long 0:5581aef375ff#2 0.87 0.09 market&competitiveanalysis
+invoice-consulting_long 0:5581aef375ff#2 0.75 0.09 market&competitiveanalysis
invoice-consulting_long 0:957080ea09d9 0.56 0.09 researchandanalysisreport
-invoice-consulting_long 0:957080ea09d9#1 0.75 0.09 researchandanalysisreport
+invoice-consulting_long 0:957080ea09d9#1 0.63 0.09 researchandanalysisreport
invoice-consulting_long 0:957080ea09d9#2 0.83 0.09 researchandanalysisreport
-invoice-consulting_long 0:47102c31f226 0.86 0.37 5–20may2025
-invoice-consulting_long 0:47102c31f226#1 0.93 0.37 5–20may2025
-invoice-consulting_long 0:47102c31f226#2 1.13 0.37 5–20may2025
-invoice-consulting_long 0:ec6305055be9 0.86 0.63 4,800.00
-invoice-consulting_long 0:ec6305055be9#1 0.86 0.57 4,800.00
-invoice-consulting_long 0:ec6305055be9#2 0.93 0.63 4,800.00
-invoice-consulting_long 0:ec6305055be9#3 0.93 0.57 4,800.00
-invoice-consulting_long 0:ec6305055be9#4 1.13 0.63 4,800.00
-invoice-consulting_long 0:ec6305055be9#5 1.13 0.57 4,800.00
-invoice-consulting_long 0:53dea97cf116 0.61 0.09 digitalroadmapdevelopment
+invoice-consulting_long 0:47102c31f226 0.26 0.37 5–20may2025
+invoice-consulting_long 0:47102c31f226#1 0.45 0.37 5–20may2025
+invoice-consulting_long 0:47102c31f226#2 0.53 0.37 5–20may2025
+invoice-consulting_long 0:ec6305055be9 0.26 0.63 4,800.00
+invoice-consulting_long 0:ec6305055be9#1 0.26 0.57 4,800.00
+invoice-consulting_long 0:ec6305055be9#2 0.45 0.63 4,800.00
+invoice-consulting_long 0:ec6305055be9#3 0.45 0.57 4,800.00
+invoice-consulting_long 0:ec6305055be9#4 0.53 0.63 4,800.00
+invoice-consulting_long 0:ec6305055be9#5 0.53 0.57 4,800.00
+invoice-consulting_long 0:53dea97cf116 0.49 0.09 digitalroadmapdevelopment
invoice-consulting_long 0:53dea97cf116#1 0.68 0.09 digitalroadmapdevelopment
-invoice-consulting_long 0:53dea97cf116#2 0.88 0.09 digitalroadmapdevelopment
+invoice-consulting_long 0:53dea97cf116#2 0.76 0.09 digitalroadmapdevelopment
invoice-consulting_long 0:acf357e68297 0.57 0.09 strategyandroadmapcreation
-invoice-consulting_long 0:acf357e68297#1 0.76 0.09 strategyandroadmapcreation
+invoice-consulting_long 0:acf357e68297#1 0.64 0.09 strategyandroadmapcreation
invoice-consulting_long 0:acf357e68297#2 0.84 0.09 strategyandroadmapcreation
-invoice-consulting_long 0:c947fb16eab2 0.87 0.43 15–22may2025
-invoice-consulting_long 0:c947fb16eab2#1 0.94 0.43 15–22may2025
-invoice-consulting_long 0:c947fb16eab2#2 1.14 0.43 15–22may2025
-invoice-consulting_long 0:017144e2271f 0.89 0.07 6.00
-invoice-consulting_long 0:017144e2271f#1 0.96 0.07 6.00
-invoice-consulting_long 0:017144e2271f#2 1.16 0.07 6.00
-invoice-consulting_long 0:be6012a47af0 0.87 0.47 220.00
-invoice-consulting_long 0:be6012a47af0#1 0.94 0.47 220.00
-invoice-consulting_long 0:be6012a47af0#2 1.14 0.47 220.00
-invoice-consulting_long 0:172c0a785bc7 0.87 0.50 1,320.00
-invoice-consulting_long 0:172c0a785bc7#1 0.94 0.50 1,320.00
-invoice-consulting_long 0:172c0a785bc7#2 1.14 0.50 1,320.00
+invoice-consulting_long 0:c947fb16eab2 0.39 0.43 15–22may2025
+invoice-consulting_long 0:c947fb16eab2#1 0.46 0.43 15–22may2025
+invoice-consulting_long 0:c947fb16eab2#2 0.54 0.43 15–22may2025
+invoice-consulting_long 0:017144e2271f 0.29 0.07 6.00
+invoice-consulting_long 0:017144e2271f#1 0.48 0.07 6.00
+invoice-consulting_long 0:017144e2271f#2 0.56 0.07 6.00
+invoice-consulting_long 0:be6012a47af0 0.39 0.47 220.00
+invoice-consulting_long 0:be6012a47af0#1 0.46 0.47 220.00
+invoice-consulting_long 0:be6012a47af0#2 0.54 0.47 220.00
+invoice-consulting_long 0:172c0a785bc7 0.39 0.50 1,320.00
+invoice-consulting_long 0:172c0a785bc7#1 0.46 0.50 1,320.00
+invoice-consulting_long 0:172c0a785bc7#2 0.54 0.50 1,320.00
invoice-consulting_long 0:fe04037aa850 0.62 0.09 stakeholderreviewsessions
invoice-consulting_long 0:fe04037aa850#1 0.69 0.09 stakeholderreviewsessions
-invoice-consulting_long 0:fe04037aa850#2 0.89 0.09 stakeholderreviewsessions
-invoice-consulting_long 0:4658a1bff292 0.70 0.09 facilitationanddocumentation
+invoice-consulting_long 0:fe04037aa850#2 0.77 0.09 stakeholderreviewsessions
+invoice-consulting_long 0:4658a1bff292 0.58 0.09 facilitationanddocumentation
invoice-consulting_long 0:4658a1bff292#1 0.77 0.09 facilitationanddocumentation
invoice-consulting_long 0:4658a1bff292#2 0.84 0.09 facilitationanddocumentation
-invoice-consulting_long 0:86f73207c794 0.90 0.40 20–25may2025
-invoice-consulting_long 0:86f73207c794#1 0.95 0.40 20–25may2025
-invoice-consulting_long 0:86f73207c794#2 1.15 0.40 20–25may2025
-invoice-consulting_long 0:55907ef405f6 0.90 0.58 1,880.00
-invoice-consulting_long 0:55907ef405f6#1 0.90 0.53 1,880.00
-invoice-consulting_long 0:55907ef405f6#2 0.95 0.58 1,880.00
-invoice-consulting_long 0:55907ef405f6#3 0.95 0.53 1,880.00
-invoice-consulting_long 0:55907ef405f6#4 1.15 0.58 1,880.00
-invoice-consulting_long 0:55907ef405f6#5 1.15 0.53 1,880.00
+invoice-consulting_long 0:86f73207c794 0.42 0.40 20–25may2025
+invoice-consulting_long 0:86f73207c794#1 0.47 0.40 20–25may2025
+invoice-consulting_long 0:86f73207c794#2 0.55 0.40 20–25may2025
+invoice-consulting_long 0:55907ef405f6 0.42 0.58 1,880.00
+invoice-consulting_long 0:55907ef405f6#1 0.42 0.53 1,880.00
+invoice-consulting_long 0:55907ef405f6#2 0.47 0.58 1,880.00
+invoice-consulting_long 0:55907ef405f6#3 0.47 0.53 1,880.00
+invoice-consulting_long 0:55907ef405f6#4 0.55 0.58 1,880.00
+invoice-consulting_long 0:55907ef405f6#5 0.55 0.53 1,880.00
invoice-consulting_long 0:f2e12ad6cc9f 0.65 0.09 presentation&finalreport
invoice-consulting_long 0:f2e12ad6cc9f#1 0.70 0.09 presentation&finalreport
-invoice-consulting_long 0:f2e12ad6cc9f#2 0.90 0.09 presentation&finalreport
-invoice-consulting_long 0:50de6dc61b80 0.73 0.09 executivepresentationanddelivery
+invoice-consulting_long 0:f2e12ad6cc9f#2 0.78 0.09 presentation&finalreport
+invoice-consulting_long 0:50de6dc61b80 0.61 0.09 executivepresentationanddelivery
invoice-consulting_long 0:50de6dc61b80#1 0.81 0.09 executivepresentationanddelivery
invoice-consulting_long 0:50de6dc61b80#2 0.85 0.09 executivepresentationanddelivery
invoice-consulting_long 0:55ee5fe62c33 0.15 0.06 northpointconsultingptyltd|abn12
invoice-consulting_long 0:c843aa25b80f 0.15 0.16 page1/2
-invoice-consulting_long 1:c9046f7a37ad 0.53 -0.54 description
-invoice-consulting_long 1:b28225a1247c 0.53 -0.56 serviceperiod
-invoice-consulting_long 1:32e8369a9c4f 0.53 -0.18 qty
-invoice-consulting_long 1:d1062d072acd 0.54 -0.32 unitprice
-invoice-consulting_long 1:3ff0b4a2706b 0.52 -0.16 (aud)
-invoice-consulting_long 1:3ff0b4a2706b#1 0.52 -0.11 (aud)
-invoice-consulting_long 1:cf38d95c9c6b 0.54 -0.24 amount
-invoice-consulting_long 1:b344321f5471 0.51 0.40 1–10may2025
-invoice-consulting_long 1:b344321f5471#1 0.70 0.40 1–10may2025
-invoice-consulting_long 1:b344321f5471#2 0.78 0.40 1–10may2025
-invoice-consulting_long 1:a8994a9020c4 0.53 0.06 10.00
-invoice-consulting_long 1:a8994a9020c4#1 0.72 0.06 10.00
-invoice-consulting_long 1:a8994a9020c4#2 0.80 0.06 10.00
-invoice-consulting_long 1:4e9682fa850e 0.64 0.08 hrs
-invoice-consulting_long 1:4e9682fa850e#1 0.67 0.08 hrs
-invoice-consulting_long 1:4e9682fa850e#2 0.69 0.08 hrs
-invoice-consulting_long 1:4e9682fa850e#3 0.75 0.08 hrs
-invoice-consulting_long 1:4e9682fa850e#4 0.89 0.08 hrs
-invoice-consulting_long 1:aa92f0e23a97 0.51 0.51 250.00
-invoice-consulting_long 1:aa92f0e23a97#1 0.70 0.51 250.00
-invoice-consulting_long 1:aa92f0e23a97#2 0.78 0.51 250.00
-invoice-consulting_long 1:e48d9b7a2993 0.51 0.50 2,500.00
-invoice-consulting_long 1:e48d9b7a2993#1 0.70 0.50 2,500.00
-invoice-consulting_long 1:e48d9b7a2993#2 0.78 0.50 2,500.00
+invoice-consulting_long 1:c9046f7a37ad -0.07 -0.54 description
+invoice-consulting_long 1:b28225a1247c -0.07 -0.56 serviceperiod
+invoice-consulting_long 1:32e8369a9c4f -0.07 -0.18 qty
+invoice-consulting_long 1:d1062d072acd -0.06 -0.32 unitprice
+invoice-consulting_long 1:3ff0b4a2706b -0.08 -0.16 (aud)
+invoice-consulting_long 1:3ff0b4a2706b#1 -0.08 -0.11 (aud)
+invoice-consulting_long 1:cf38d95c9c6b -0.06 -0.24 amount
+invoice-consulting_long 1:b344321f5471 0.03 0.40 1–10may2025
+invoice-consulting_long 1:b344321f5471#1 0.10 0.40 1–10may2025
+invoice-consulting_long 1:b344321f5471#2 0.30 0.40 1–10may2025
+invoice-consulting_long 1:a8994a9020c4 0.05 0.06 10.00
+invoice-consulting_long 1:a8994a9020c4#1 0.12 0.06 10.00
+invoice-consulting_long 1:a8994a9020c4#2 0.32 0.06 10.00
+invoice-consulting_long 1:4e9682fa850e 0.04 0.08 hrs
+invoice-consulting_long 1:4e9682fa850e#1 0.07 0.08 hrs
+invoice-consulting_long 1:4e9682fa850e#2 0.21 0.08 hrs
+invoice-consulting_long 1:4e9682fa850e#3 0.27 0.08 hrs
+invoice-consulting_long 1:4e9682fa850e#4 0.29 0.08 hrs
+invoice-consulting_long 1:aa92f0e23a97 0.03 0.51 250.00
+invoice-consulting_long 1:aa92f0e23a97#1 0.10 0.51 250.00
+invoice-consulting_long 1:aa92f0e23a97#2 0.30 0.51 250.00
+invoice-consulting_long 1:e48d9b7a2993 0.03 0.50 2,500.00
+invoice-consulting_long 1:e48d9b7a2993#1 0.10 0.50 2,500.00
+invoice-consulting_long 1:e48d9b7a2993#2 0.30 0.50 2,500.00
invoice-consulting_long 1:1bcfde966d94 0.26 0.09 strategicconsultation
-invoice-consulting_long 1:1bcfde966d94#1 0.45 0.09 strategicconsultation
-invoice-consulting_long 1:1bcfde966d94#2 0.65 0.09 strategicconsultation
+invoice-consulting_long 1:1bcfde966d94#1 0.33 0.09 strategicconsultation
+invoice-consulting_long 1:1bcfde966d94#2 0.53 0.09 strategicconsultation
invoice-consulting_long 1:fd3ca268f319 0.34 0.09 leadershipalignmentworkshops
invoice-consulting_long 1:fd3ca268f319#1 0.41 0.09 leadershipalignmentworkshops
-invoice-consulting_long 1:fd3ca268f319#2 0.61 0.09 leadershipalignmentworkshops
-invoice-consulting_long 1:8d93e0c47a8c 0.66 0.40 1–15may2025
-invoice-consulting_long 1:8d93e0c47a8c#1 0.74 0.40 1–15may2025
-invoice-consulting_long 1:cf9dcf6da8a8 0.56 0.08 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#1 0.69 0.08 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#2 0.71 0.08 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#3 0.73 0.08 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#4 0.77 0.08 1.00
-invoice-consulting_long 1:cf9dcf6da8a8#5 0.79 0.08 1.00
-invoice-consulting_long 1:97e47b250054 0.66 0.54 3,500.00
-invoice-consulting_long 1:97e47b250054#1 0.66 0.49 3,500.00
-invoice-consulting_long 1:97e47b250054#2 0.74 0.54 3,500.00
-invoice-consulting_long 1:97e47b250054#3 0.74 0.49 3,500.00
-invoice-consulting_long 1:5581aef375ff 0.41 0.09 market&competitiveanalysis
+invoice-consulting_long 1:fd3ca268f319#2 0.49 0.09 leadershipalignmentworkshops
+invoice-consulting_long 1:8d93e0c47a8c 0.06 0.40 1–15may2025
+invoice-consulting_long 1:8d93e0c47a8c#1 0.26 0.40 1–15may2025
+invoice-consulting_long 1:cf9dcf6da8a8 0.08 0.08 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#1 0.09 0.08 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#2 0.11 0.08 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#3 0.13 0.08 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#4 0.29 0.08 1.00
+invoice-consulting_long 1:cf9dcf6da8a8#5 0.31 0.08 1.00
+invoice-consulting_long 1:97e47b250054 0.06 0.54 3,500.00
+invoice-consulting_long 1:97e47b250054#1 0.06 0.49 3,500.00
+invoice-consulting_long 1:97e47b250054#2 0.26 0.54 3,500.00
+invoice-consulting_long 1:97e47b250054#3 0.26 0.49 3,500.00
+invoice-consulting_long 1:5581aef375ff 0.29 0.09 market&competitiveanalysis
invoice-consulting_long 1:5581aef375ff#1 0.46 0.09 market&competitiveanalysis
invoice-consulting_long 1:957080ea09d9 0.37 0.09 researchandanalysisreport
-invoice-consulting_long 1:957080ea09d9#1 0.57 0.09 researchandanalysisreport
-invoice-consulting_long 1:47102c31f226 0.67 0.37 5–20may2025
-invoice-consulting_long 1:47102c31f226#1 0.75 0.37 5–20may2025
-invoice-consulting_long 1:ec6305055be9 0.67 0.63 4,800.00
-invoice-consulting_long 1:ec6305055be9#1 0.67 0.57 4,800.00
-invoice-consulting_long 1:ec6305055be9#2 0.75 0.63 4,800.00
-invoice-consulting_long 1:ec6305055be9#3 0.75 0.57 4,800.00
-invoice-consulting_long 1:53dea97cf116 0.42 0.09 digitalroadmapdevelopment
+invoice-consulting_long 1:957080ea09d9#1 0.45 0.09 researchandanalysisreport
+invoice-consulting_long 1:47102c31f226 0.07 0.37 5–20may2025
+invoice-consulting_long 1:47102c31f226#1 0.27 0.37 5–20may2025
+invoice-consulting_long 1:ec6305055be9 0.07 0.63 4,800.00
+invoice-consulting_long 1:ec6305055be9#1 0.07 0.57 4,800.00
+invoice-consulting_long 1:ec6305055be9#2 0.27 0.63 4,800.00
+invoice-consulting_long 1:ec6305055be9#3 0.27 0.57 4,800.00
+invoice-consulting_long 1:53dea97cf116 0.30 0.09 digitalroadmapdevelopment
invoice-consulting_long 1:53dea97cf116#1 0.50 0.09 digitalroadmapdevelopment
invoice-consulting_long 1:acf357e68297 0.38 0.09 strategyandroadmapcreation
-invoice-consulting_long 1:acf357e68297#1 0.58 0.09 strategyandroadmapcreation
-invoice-consulting_long 1:c947fb16eab2 0.68 0.43 15–22may2025
-invoice-consulting_long 1:c947fb16eab2#1 0.76 0.43 15–22may2025
-invoice-consulting_long 1:017144e2271f 0.70 0.07 6.00
-invoice-consulting_long 1:017144e2271f#1 0.78 0.07 6.00
-invoice-consulting_long 1:be6012a47af0 0.68 0.47 220.00
-invoice-consulting_long 1:be6012a47af0#1 0.76 0.47 220.00
-invoice-consulting_long 1:172c0a785bc7 0.68 0.50 1,320.00
-invoice-consulting_long 1:172c0a785bc7#1 0.76 0.50 1,320.00
-invoice-consulting_long 1:fe04037aa850 0.43 0.09 stakeholderreviewsessions
+invoice-consulting_long 1:acf357e68297#1 0.46 0.09 strategyandroadmapcreation
+invoice-consulting_long 1:c947fb16eab2 0.08 0.43 15–22may2025
+invoice-consulting_long 1:c947fb16eab2#1 0.28 0.43 15–22may2025
+invoice-consulting_long 1:017144e2271f 0.10 0.07 6.00
+invoice-consulting_long 1:017144e2271f#1 0.30 0.07 6.00
+invoice-consulting_long 1:be6012a47af0 0.08 0.47 220.00
+invoice-consulting_long 1:be6012a47af0#1 0.28 0.47 220.00
+invoice-consulting_long 1:172c0a785bc7 0.08 0.50 1,320.00
+invoice-consulting_long 1:172c0a785bc7#1 0.28 0.50 1,320.00
+invoice-consulting_long 1:fe04037aa850 0.31 0.09 stakeholderreviewsessions
invoice-consulting_long 1:fe04037aa850#1 0.51 0.09 stakeholderreviewsessions
invoice-consulting_long 1:4658a1bff292 0.39 0.09 facilitationanddocumentation
-invoice-consulting_long 1:4658a1bff292#1 0.59 0.09 facilitationanddocumentation
-invoice-consulting_long 1:86f73207c794 0.69 0.40 20–25may2025
-invoice-consulting_long 1:86f73207c794#1 0.77 0.40 20–25may2025
-invoice-consulting_long 1:55907ef405f6 0.69 0.58 1,880.00
-invoice-consulting_long 1:55907ef405f6#1 0.69 0.53 1,880.00
-invoice-consulting_long 1:55907ef405f6#2 0.77 0.58 1,880.00
-invoice-consulting_long 1:55907ef405f6#3 0.77 0.53 1,880.00
-invoice-consulting_long 1:f2e12ad6cc9f 0.44 0.09 presentation&finalreport
+invoice-consulting_long 1:4658a1bff292#1 0.47 0.09 facilitationanddocumentation
+invoice-consulting_long 1:86f73207c794 0.09 0.40 20–25may2025
+invoice-consulting_long 1:86f73207c794#1 0.29 0.40 20–25may2025
+invoice-consulting_long 1:55907ef405f6 0.09 0.58 1,880.00
+invoice-consulting_long 1:55907ef405f6#1 0.09 0.53 1,880.00
+invoice-consulting_long 1:55907ef405f6#2 0.29 0.58 1,880.00
+invoice-consulting_long 1:55907ef405f6#3 0.29 0.53 1,880.00
+invoice-consulting_long 1:f2e12ad6cc9f 0.32 0.09 presentation&finalreport
invoice-consulting_long 1:f2e12ad6cc9f#1 0.52 0.09 presentation&finalreport
invoice-consulting_long 1:50de6dc61b80 0.40 0.09 executivepresentationanddelivery
-invoice-consulting_long 1:50de6dc61b80#1 0.60 0.09 executivepresentationanddelivery
+invoice-consulting_long 1:50de6dc61b80#1 0.48 0.09 executivepresentationanddelivery
invoice-consulting_long 1:d6577e95efba 0.09 0.09 subtotal
invoice-consulting_long 1:6311b1798398 0.31 0.59 14,000.00
-invoice-consulting_long 1:e370855bde0c 0.17 0.09 gst(10%)
-invoice-consulting_long 1:b87e26fb8fac 0.39 0.55 1,400.00
+invoice-consulting_long 1:e370855bde0c 0.05 0.09 gst(10%)
+invoice-consulting_long 1:b87e26fb8fac 0.27 0.55 1,400.00
invoice-consulting_long 1:713a1893d967 0.45 0.09 totaldue(aud)
invoice-consulting_long 1:d4464a725927 0.36 0.96 15,400.00
-invoice-consulting_long 1:13000a5d442c 0.63 -0.02 paymentinformation
+invoice-consulting_long 1:13000a5d442c 0.51 -0.02 paymentinformation
invoice-consulting_long 1:944d398aea60 0.92 -0.04 bankname:
invoice-consulting_long 1:97fa113746b9 0.92 0.04 examplebank
invoice-consulting_long 1:0ecb5847ffa7 0.92 -0.04 accountname:
@@ -2343,13 +2343,13 @@ invoice-consulting_long 1:6b4894c28363 0.92 -0.04 accountnumber:
invoice-consulting_long 1:ef797c8118f0 0.92 0.04 12345678
invoice-consulting_long 1:c608665436db 0.92 -0.04 reference:
invoice-consulting_long 1:7d66eb3c1070 0.92 0.04 inv-2025-0478
-invoice-consulting_long 1:010450dee1ff 0.47 -0.02 pleaseensuretheinvoicenumberisin
-invoice-consulting_long 1:ab5aa97074c4 0.63 0.10 notes
-invoice-consulting_long 1:7c6ab37d83ef 0.43 0.10 thankyouforyourbusiness.
-invoice-consulting_long 1:4a699e29a3bb 0.47 0.10 ifyouhaveanyquestionsregardingth
+invoice-consulting_long 1:010450dee1ff 0.35 -0.02 pleaseensuretheinvoicenumberisin
+invoice-consulting_long 1:ab5aa97074c4 0.51 0.10 notes
+invoice-consulting_long 1:7c6ab37d83ef 0.31 0.10 thankyouforyourbusiness.
+invoice-consulting_long 1:4a699e29a3bb 0.35 0.10 ifyouhaveanyquestionsregardingth
invoice-consulting_long 1:c766251af1f4 0.41 0.10 contactusataccounts@northpoint.c
-invoice-consulting_long 1:3d32fa219332 0.47 0.10 +61398765432.
-invoice-consulting_long 1:a6f6e2ddab6d 0.99 0.10 paymentisduewithin30daysfromthei
+invoice-consulting_long 1:3d32fa219332 0.35 0.10 +61398765432.
+invoice-consulting_long 1:a6f6e2ddab6d 0.87 0.10 paymentisduewithin30daysfromthei
invoice-consulting_long 1:55ee5fe62c33 0.15 0.06 northpointconsultingptyltd|abn12
invoice-consulting_long 1:1bed6052d9b3 0.15 0.16 page2/2
invoice-luma_studio 0:ac5742bfd7c4 -0.23 -0.05 &co.
@@ -2430,9 +2430,9 @@ invoice-luma_studio 0:ab5aa97074c4 0.03 0.08 notes
invoice-luma_studio 0:7c6ab37d83ef -0.41 0.08 thankyouforyourbusiness.
invoice-luma_studio 0:3d717dfb25d8 -0.36 0.08 ifyouhaveanyquestionsregarding
invoice-luma_studio 0:479a74142336 -0.44 0.08 thisinvoice,pleasegetintouch.
-invoice-luma_studio 0:1960744391ed -0.45 0.08 allworkremainstheintellectualpro
-invoice-luma_studio 0:eeb53247f32c -0.53 0.08 ofluma&co.studiountilpayment
-invoice-luma_studio 0:9eef22d7d34e -0.60 0.08 hasbeenreceivedinfull.
+invoice-luma_studio 0:1960744391ed -0.33 0.08 allworkremainstheintellectualpro
+invoice-luma_studio 0:eeb53247f32c -0.41 0.08 ofluma&co.studiountilpayment
+invoice-luma_studio 0:9eef22d7d34e -0.36 0.08 hasbeenreceivedinfull.
invoice-luma_studio 0:3c7ade679fdf 0.03 0.05 paymentdetails
invoice-luma_studio 0:b1819c9cd5bf -0.29 0.05 pleasemakepaymentbybanktransfert
invoice-luma_studio 0:8c1e4a24f6a8 -0.17 0.05 luma&co.studioltd
@@ -2622,9 +2622,9 @@ invoice-luma_studio_long 2:ab5aa97074c4 0.25 0.08 notes
invoice-luma_studio_long 2:7c6ab37d83ef -0.17 0.08 thankyouforyourbusiness.
invoice-luma_studio_long 2:3d717dfb25d8 -0.25 0.08 ifyouhaveanyquestionsregarding
invoice-luma_studio_long 2:479a74142336 -0.32 0.08 thisinvoice,pleasegetintouch.
-invoice-luma_studio_long 2:1960744391ed -0.33 0.08 allworkremainstheintellectualpro
-invoice-luma_studio_long 2:eeb53247f32c -0.41 0.08 ofluma&co.studiountilpayment
-invoice-luma_studio_long 2:9eef22d7d34e -0.36 0.08 hasbeenreceivedinfull.
+invoice-luma_studio_long 2:1960744391ed -0.09 0.08 allworkremainstheintellectualpro
+invoice-luma_studio_long 2:eeb53247f32c -0.17 0.08 ofluma&co.studiountilpayment
+invoice-luma_studio_long 2:9eef22d7d34e -0.24 0.08 hasbeenreceivedinfull.
invoice-luma_studio_long 2:3c7ade679fdf 0.25 0.05 paymentdetails
invoice-luma_studio_long 2:b1819c9cd5bf -0.05 0.05 pleasemakepaymentbybanktransfert
invoice-luma_studio_long 2:8c1e4a24f6a8 -0.06 0.05 luma&co.studioltd
@@ -2644,20 +2644,20 @@ invoice-luma_studio_long 2:bc6d215b63ee 0.17 1.15 page3of3
invoice-merchant 0:0dffa3b5d008 0.00 0.10 coastline
invoice-merchant 0:52d6e3de4fa0 0.07 0.77 invoice
invoice-merchant 0:9422e2aeb800 0.14 0.03 coastlinecommerceinc.
-invoice-merchant 0:9422e2aeb800#1 0.17 0.84 coastlinecommerceinc.
-invoice-merchant 0:9422e2aeb800#2 -0.08 -0.01 coastlinecommerceinc.
+invoice-merchant 0:9422e2aeb800#1 0.05 0.84 coastlinecommerceinc.
+invoice-merchant 0:9422e2aeb800#2 -0.20 -0.01 coastlinecommerceinc.
invoice-merchant 0:8bb83c0c3efb 0.08 0.03 150elginstreet,8thfloor
invoice-merchant 0:cf0df3462e70 0.13 0.03 ottawa,onk2p1l4
invoice-merchant 0:408c7c5887a0 0.06 0.03 canada
invoice-merchant 0:0d9b94d29fc9 0.00 0.00 www.coastline.example
-invoice-merchant 0:0d9b94d29fc9#1 -0.08 -0.01 www.coastline.example
+invoice-merchant 0:0d9b94d29fc9#1 -0.20 -0.01 www.coastline.example
invoice-merchant 0:76957649b8a8 0.00 0.12 billing@coastline.example
-invoice-merchant 0:76957649b8a8#1 0.23 0.84 billing@coastline.example
+invoice-merchant 0:76957649b8a8#1 0.11 0.84 billing@coastline.example
invoice-merchant 0:0b44bf19dd44 -0.12 0.12 +1613-555-0142
invoice-merchant 0:884004f21362 -0.06 0.03 vatid:ca8139020285rt0001
invoice-merchant 0:6282391a4cc1 0.21 0.08 invoicenumber:
invoice-merchant 0:a6e01b979f55 0.21 0.06 inv-2026-000789
-invoice-merchant 0:a6e01b979f55#1 0.25 0.84 inv-2026-000789
+invoice-merchant 0:a6e01b979f55#1 0.13 0.84 inv-2026-000789
invoice-merchant 0:8d05f5d55191 0.22 0.08 invoicedate:
invoice-merchant 0:dc9696f61d36 0.22 0.06 27may2026
invoice-merchant 0:0e0fb0fc0939 0.24 0.08 duedate:
@@ -2696,42 +2696,42 @@ invoice-merchant 0:91809142f08f 0.08 0.30 transactionfee
invoice-merchant 0:358a7392afe6 0.09 0.31 asperusage
invoice-merchant 0:561b2814d3c0 0.09 0.06 0.00
invoice-merchant 0:561b2814d3c0#1 0.09 0.05 0.00
-invoice-merchant 0:561b2814d3c0#2 0.00 0.06 0.00
-invoice-merchant 0:561b2814d3c0#3 0.00 0.05 0.00
+invoice-merchant 0:561b2814d3c0#2 -0.12 0.06 0.00
+invoice-merchant 0:561b2814d3c0#3 -0.12 0.05 0.00
invoice-merchant 0:561b2814d3c0#4 0.27 0.66 0.00
-invoice-merchant 0:3f9fea8c0fc5 0.21 0.30 additionalstaffaccounts
-invoice-merchant 0:fbf7948d004d 0.10 0.30 staffaccount
+invoice-merchant 0:3f9fea8c0fc5 0.09 0.30 additionalstaffaccounts
+invoice-merchant 0:fbf7948d004d -0.02 0.30 staffaccount
invoice-merchant 0:7b476727faf3 0.11 -0.18 additional
invoice-merchant 0:0856fec27d23 0.11 -0.03 15.00
invoice-merchant 0:bc7a1ad05efc 0.11 -0.04 45.00
invoice-merchant 0:0036ebf2cfb2 -0.02 0.30 prioritysupport
invoice-merchant 0:6bfa3f8e9308 -0.13 0.30 24/7support
-invoice-merchant 0:7f0f70e643bc 0.00 -0.16 included
+invoice-merchant 0:7f0f70e643bc -0.12 -0.16 included
invoice-merchant 0:3c7ade679fdf 0.19 0.80 paymentdetails
invoice-merchant 0:944d398aea60 0.15 0.82 bankname:
invoice-merchant 0:d6c3cea2e943 0.15 0.84 harbourbankofcanada
-invoice-merchant 0:0ecb5847ffa7 0.17 0.82 accountname:
-invoice-merchant 0:6b4894c28363 0.23 0.82 accountnumber:
-invoice-merchant 0:ca2ea6319cc8 0.23 0.84 1001-4267-153
-invoice-merchant 0:555043320c0c 0.25 0.82 swiftcode:
-invoice-merchant 0:922f5f70c123 0.25 0.84 hrbrcat2
+invoice-merchant 0:0ecb5847ffa7 0.05 0.82 accountname:
+invoice-merchant 0:6b4894c28363 0.11 0.82 accountnumber:
+invoice-merchant 0:ca2ea6319cc8 0.11 0.84 1001-4267-153
+invoice-merchant 0:555043320c0c 0.13 0.82 swiftcode:
+invoice-merchant 0:922f5f70c123 0.13 0.84 hrbrcat2
invoice-merchant 0:f1b1597830d6 0.15 0.82 institutionnumber:
invoice-merchant 0:88c0413bfef1 0.15 0.84 003
invoice-merchant 0:e47c9313aced 0.18 0.82 transitnumber:
invoice-merchant 0:fec334e6bf8c 0.18 0.84 00016
invoice-merchant 0:4f657c67e41a 0.20 0.82 accounttype:
invoice-merchant 0:b8b8acdf702e 0.20 0.84 cadaccount
-invoice-merchant 0:fa0fbe194b51 0.23 0.82 remittanceemail:
-invoice-merchant 0:c608665436db 0.25 0.82 reference:
+invoice-merchant 0:fa0fbe194b51 0.11 0.82 remittanceemail:
+invoice-merchant 0:c608665436db 0.13 0.82 reference:
invoice-merchant 0:1b0fdc20ced4 0.16 0.82 pleaseincludetheinvoicenumber
invoice-merchant 0:cfdf1faf410b 0.13 0.82 inyourpaymentreference.
invoice-merchant 0:d6577e95efba 0.19 0.06 subtotal
invoice-merchant 0:30d16b02fd3e 0.26 0.96 444.00
invoice-merchant 0:2ee4d3de4ddf 0.19 0.06 tax(0%)
-invoice-merchant 0:57a66d21eb1b 0.43 0.06 totaldue
-invoice-merchant 0:a4dfc8dd0535 0.41 0.90 usd444.00
+invoice-merchant 0:57a66d21eb1b 0.31 0.06 totaldue
+invoice-merchant 0:a4dfc8dd0535 0.29 0.90 usd444.00
invoice-merchant 0:b0553f008513 0.49 0.07 paymentdueby
-invoice-merchant 0:a416c258bdd9 -0.09 -0.06 thankyouforchoosingcoastline.
+invoice-merchant 0:a416c258bdd9 -0.21 -0.06 thankyouforchoosingcoastline.
invoice-merchant 0:aaa4b5e2074f -0.09 -0.06 ifyouhaveanyquestionsaboutthisin
invoice-merchant 0:2c865b459156 -0.15 -0.01 150elginstreet,8thfloor,ottawa,o
invoice-merchant 0:7b14b8d2c5c4 0.18 0.37 page1of1
@@ -2843,7 +2843,7 @@ invoice-modern 0:fbeea547d99e -0.15 -0.04 london,uk
invoice-modern 0:faf1569a98e9 -0.11 -0.04 ec1a4gc
invoice-modern 0:befc6e9b5c24 -0.18 -0.04 billing@graphcompose.dev
invoice-modern 0:89674e6f130e -0.26 -0.04 +442055551000
-invoice-modern 0:a2b2e7d2906f -0.21 -0.04 taxidgb-99887766
+invoice-modern 0:a2b2e7d2906f -0.09 -0.04 taxidgb-99887766
invoice-modern 0:aeba3a7b3598 0.27 0.01 billto
invoice-modern 0:f890faef907f -0.02 0.01 northwindsystems
invoice-modern 0:1b405eb431ca -0.08 0.01 attn:financeteam
@@ -2851,43 +2851,43 @@ invoice-modern 0:91eefd794f79 -0.15 0.01 410marketavenue
invoice-modern 0:00a97da4e243 -0.11 0.01 manchester,uk
invoice-modern 0:62fcfa8745fc -0.18 0.01 ap@northwind.example
invoice-modern 0:2081a41a7764 -0.26 0.01 +441615552200
-invoice-modern 0:5a6e7135d21b -0.21 0.01 taxidnw-2026-01
-invoice-modern 0:c9046f7a37ad 0.01 0.00 description
-invoice-modern 0:32e8369a9c4f 0.01 1.09 qty
-invoice-modern 0:385cfdbc00ec 0.01 1.09 unit
-invoice-modern 0:cf38d95c9c6b 0.01 1.11 amount
-invoice-modern 0:987c6297d0a9 0.07 0.04 discoveryworkshop
-invoice-modern 0:532674c6eb89 0.07 1.01 gbp1,450
-invoice-modern 0:532674c6eb89#1 0.07 1.03 gbp1,450
-invoice-modern 0:08ec6deb1c40 0.12 0.04 templatearchitecture2
-invoice-modern 0:d2e67c4b1cca 0.12 1.01 gbp980
-invoice-modern 0:d6cdf6a05754 0.12 1.03 gbp1,960
-invoice-modern 0:fe13f8ee4f99 0.05 0.04 renderqa
-invoice-modern 0:7e7398cbff7c 0.05 1.01 gbp320
-invoice-modern 0:e23164e940c7 0.05 1.03 gbp960
-invoice-modern 0:6047df51175c 0.10 0.04 developerenablement1
-invoice-modern 0:c2ad01ea64ae 0.10 1.01 gbp780
-invoice-modern 0:c2ad01ea64ae#1 0.10 1.03 gbp780
-invoice-modern 0:d6577e95efba 0.03 1.01 subtotal
-invoice-modern 0:50cae0510231 0.03 1.03 gbp5,150
-invoice-modern 0:a52611c9261b 0.08 1.01 vat(20%)
-invoice-modern 0:d7f4425b8b16 0.08 1.03 gbp1,030
-invoice-modern 0:11239872d178 0.09 1.09 total
-invoice-modern 0:45a5ad5ad430 0.09 1.11 gbp6,180
+invoice-modern 0:5a6e7135d21b -0.09 0.01 taxidnw-2026-01
+invoice-modern 0:c9046f7a37ad -0.11 0.00 description
+invoice-modern 0:32e8369a9c4f -0.11 1.09 qty
+invoice-modern 0:385cfdbc00ec -0.11 1.09 unit
+invoice-modern 0:cf38d95c9c6b -0.11 1.11 amount
+invoice-modern 0:987c6297d0a9 -0.17 0.04 discoveryworkshop
+invoice-modern 0:532674c6eb89 -0.17 1.01 gbp1,450
+invoice-modern 0:532674c6eb89#1 -0.17 1.03 gbp1,450
+invoice-modern 0:08ec6deb1c40 -0.12 0.04 templatearchitecture2
+invoice-modern 0:d2e67c4b1cca -0.12 1.01 gbp980
+invoice-modern 0:d6cdf6a05754 -0.12 1.03 gbp1,960
+invoice-modern 0:fe13f8ee4f99 -0.07 0.04 renderqa
+invoice-modern 0:7e7398cbff7c -0.07 1.01 gbp320
+invoice-modern 0:e23164e940c7 -0.07 1.03 gbp960
+invoice-modern 0:6047df51175c -0.14 0.04 developerenablement1
+invoice-modern 0:c2ad01ea64ae -0.14 1.01 gbp780
+invoice-modern 0:c2ad01ea64ae#1 -0.14 1.03 gbp780
+invoice-modern 0:d6577e95efba -0.09 1.01 subtotal
+invoice-modern 0:50cae0510231 -0.09 1.03 gbp5,150
+invoice-modern 0:a52611c9261b -0.16 1.01 vat(20%)
+invoice-modern 0:d7f4425b8b16 -0.16 1.03 gbp1,030
+invoice-modern 0:11239872d178 -0.03 1.09 total
+invoice-modern 0:45a5ad5ad430 -0.03 1.11 gbp6,180
invoice-modern 0:ab5aa97074c4 0.09 0.00 notes
-invoice-modern 0:b78eb53cbd11 0.00 0.00 •pleaseincludetheinvoicenumberon
-invoice-modern 0:8c8fd62f15a7 0.01 -0.04 yourremittanceadvice.
-invoice-modern 0:0c98130c526f 0.02 0.00 •allworkwasdeliveredasagreed
-invoice-modern 0:2e9787ed79bf 0.03 -0.04 duringtheaprilimplementation
-invoice-modern 0:e41212011d98 0.04 -0.04 window.
+invoice-modern 0:b78eb53cbd11 0.12 0.00 •pleaseincludetheinvoicenumberon
+invoice-modern 0:8c8fd62f15a7 0.13 -0.04 yourremittanceadvice.
+invoice-modern 0:0c98130c526f 0.14 0.00 •allworkwasdeliveredasagreed
+invoice-modern 0:2e9787ed79bf 0.15 -0.04 duringtheaprilimplementation
+invoice-modern 0:e41212011d98 0.16 -0.04 window.
invoice-modern 0:fb854bac39c8 0.09 0.07 paymentterms
-invoice-modern 0:24274f39b50b 0.00 0.07 •paymentduewithin14calendardays.
-invoice-modern 0:c438440ba377 0.01 0.07 •banktransferpreferred;contact
-invoice-modern 0:434cc906ae90 0.02 0.04 billing@graphcompose.devfor
-invoice-modern 0:8822ea375315 0.03 0.04 remittancedetails.
-invoice-modern 0:1a7b5c840e25 0.04 0.07 •latepaymentsmaydelayadditional
+invoice-modern 0:24274f39b50b 0.12 0.07 •paymentduewithin14calendardays.
+invoice-modern 0:c438440ba377 0.13 0.07 •banktransferpreferred;contact
+invoice-modern 0:434cc906ae90 0.14 0.04 billing@graphcompose.devfor
+invoice-modern 0:8822ea375315 0.15 0.04 remittancedetails.
+invoice-modern 0:1a7b5c840e25 0.16 0.07 •latepaymentsmaydelayadditional
invoice-modern 0:1631a06d245f 0.05 0.04 templatecustomizationwork.
-invoice-modern 0:e3337beaa171 -0.15 -0.04 thankyouforchoosinggraphcomposef
+invoice-modern 0:e3337beaa171 -0.03 -0.04 thankyouforchoosinggraphcomposef
invoice-modern_long 0:52d6e3de4fa0 0.18 0.00 invoice
invoice-modern_long 0:61a964e78950 -0.05 0.00 invoicegc-2026-042issued04may202
invoice-modern_long 0:62a2fed3d6e0 -0.04 0.00 pending
@@ -2905,150 +2905,150 @@ invoice-modern_long 0:91eefd794f79 -0.14 0.01 410marketavenue
invoice-modern_long 0:00a97da4e243 -0.22 0.01 manchester,uk
invoice-modern_long 0:62fcfa8745fc -0.17 0.01 ap@northwind.example
invoice-modern_long 0:2081a41a7764 -0.25 0.01 +441615552200
-invoice-modern_long 0:c9046f7a37ad 0.10 0.00 description
-invoice-modern_long 0:32e8369a9c4f 0.10 1.07 qty
-invoice-modern_long 0:385cfdbc00ec 0.10 1.09 unit
-invoice-modern_long 0:cf38d95c9c6b 0.10 1.09 amount
-invoice-modern_long 0:aa29f2f4fcb4 0.16 0.04 discoveryworkshop—sprint1
-invoice-modern_long 0:ce4081aef7a1 0.16 1.13 gbp180
-invoice-modern_long 0:ce4081aef7a1#1 0.16 1.13 gbp180
-invoice-modern_long 0:9c9a412f0a45 0.09 0.04 designsystemaudit—sprint1
-invoice-modern_long 0:7be809cb1590 0.09 1.13 gbp217
-invoice-modern_long 0:378b363c8601 0.09 1.13 gbp434
-invoice-modern_long 0:5257532a7b5d 0.14 0.04 templatearchitecture—sprint1
-invoice-modern_long 0:c467cca4e45a 0.14 1.13 gbp254
-invoice-modern_long 0:4a4a218b012a 0.14 1.13 gbp762
-invoice-modern_long 0:58a1caacbf7e 0.07 0.04 layoutenginetuning—sprint1
-invoice-modern_long 0:dde0144b97b7 0.07 1.13 gbp291
-invoice-modern_long 0:457a71636ad9 0.07 1.13 gbp1164
-invoice-modern_long 0:6fcf7d6dd606 0.12 0.04 renderqapass—sprint1
-invoice-modern_long 0:dda88f5786f5 0.12 1.13 gbp328
-invoice-modern_long 0:dda88f5786f5#1 0.12 1.13 gbp328
-invoice-modern_long 0:ee18ad3bbb42 0.17 0.04 accessibilityreview—sprint1
-invoice-modern_long 0:e681b4843ffb 0.17 1.13 gbp365
-invoice-modern_long 0:1859c20b35dd 0.17 1.13 gbp730
-invoice-modern_long 0:c12c14945fcd 0.10 0.04 fontpipelinesetup—sprint1
-invoice-modern_long 0:9033a33f66e7 0.10 1.13 gbp402
-invoice-modern_long 0:837d48c1ff40 0.10 1.13 gbp1206
-invoice-modern_long 0:af6cba848dc0 0.17 0.04 chartintegration—sprint1
-invoice-modern_long 0:6109a2c30104 0.17 1.13 gbp439
-invoice-modern_long 0:87e9fcb6151d 0.17 1.13 gbp1756
-invoice-modern_long 0:a6bee1ec5e35 0.10 0.04 datamapping—sprint1
-invoice-modern_long 0:df1f9d4443d8 0.10 1.13 gbp476
-invoice-modern_long 0:df1f9d4443d8#1 0.10 1.13 gbp476
-invoice-modern_long 0:052c9f49a4b8 0.15 0.04 paginationhardening—sprint1
-invoice-modern_long 0:9fba6332e489 0.15 1.13 gbp513
-invoice-modern_long 0:6f805c9f78c3 0.15 1.13 gbp1026
-invoice-modern_long 0:b54b7f77d86c 0.08 0.04 visualregressionwiring—sprint13
-invoice-modern_long 0:dc3d212d6b32 0.08 1.13 gbp550
-invoice-modern_long 0:96667fee53f3 0.08 1.13 gbp1650
-invoice-modern_long 0:9fe9e123b0f0 0.13 0.04 docsauthoring—sprint1
-invoice-modern_long 0:e7b406f24f04 0.13 1.13 gbp587
-invoice-modern_long 0:74357ca6b30e 0.13 1.13 gbp2348
-invoice-modern_long 0:9c6cf539f5bc 0.18 0.04 stakeholderdemo—sprint1
-invoice-modern_long 0:cf79b5cdb735 0.18 1.13 gbp624
-invoice-modern_long 0:cf79b5cdb735#1 0.18 1.13 gbp624
-invoice-modern_long 0:d2bde6642670 0.11 0.04 performanceprofiling—sprint1
-invoice-modern_long 0:679f017f73c1 0.11 1.13 gbp661
-invoice-modern_long 0:63985b524723 0.11 1.13 gbp1322
-invoice-modern_long 0:f82bef1ac80d 0.19 0.04 releaseengineering—sprint1
-invoice-modern_long 0:0b21b7cf2ff9 0.19 1.13 gbp698
-invoice-modern_long 0:6afc08056aaa 0.19 1.13 gbp2094
-invoice-modern_long 0:632f71e8ff8b 0.12 0.04 supportretainer—sprint1
-invoice-modern_long 0:70b393b5fb10 0.12 1.13 gbp735
-invoice-modern_long 0:29edf7588a57 0.12 1.13 gbp2940
-invoice-modern_long 0:82a9218b91ae 0.17 0.04 discoveryworkshop—sprint2
-invoice-modern_long 0:c313f34b71b9 0.17 1.13 gbp772
-invoice-modern_long 0:c313f34b71b9#1 0.17 1.13 gbp772
-invoice-modern_long 0:7e69fbffe3e2 0.22 0.04 designsystemaudit—sprint2
-invoice-modern_long 0:e096e4fddf9a 0.22 1.13 gbp809
-invoice-modern_long 0:c985a0123929 0.22 1.13 gbp1618
-invoice-modern_long 0:899f0392eecb 0.14 0.04 templatearchitecture—sprint2
-invoice-modern_long 0:4c973ddb9245 0.14 1.13 gbp846
-invoice-modern_long 0:6ec359ce3927 0.14 1.13 gbp2538
-invoice-modern_long 0:69523ba7402c 0.19 0.04 layoutenginetuning—sprint2
-invoice-modern_long 0:0e196c2b490b 0.19 1.13 gbp883
-invoice-modern_long 0:6e0d19ab72c6 0.19 1.13 gbp3532
-invoice-modern_long 1:c9046f7a37ad 0.26 0.00 description
-invoice-modern_long 1:32e8369a9c4f 0.26 1.07 qty
-invoice-modern_long 1:385cfdbc00ec 0.26 1.09 unit
-invoice-modern_long 1:cf38d95c9c6b 0.26 1.09 amount
-invoice-modern_long 1:f12cbb7c274d 0.29 0.04 renderqapass—sprint2
-invoice-modern_long 1:b813c73bc488 0.29 1.13 gbp920
-invoice-modern_long 1:b813c73bc488#1 0.29 1.13 gbp920
-invoice-modern_long 1:12cd54b50187 0.24 0.04 accessibilityreview—sprint2
-invoice-modern_long 1:377d92702316 0.24 1.13 gbp957
-invoice-modern_long 1:e7c66f6cf477 0.24 1.13 gbp1914
-invoice-modern_long 1:e3d8409ace07 0.29 0.04 fontpipelinesetup—sprint2
-invoice-modern_long 1:21604b8f0b36 0.29 1.13 gbp994
-invoice-modern_long 1:fe15ed444063 0.29 1.13 gbp2982
-invoice-modern_long 1:ca4d3c8eca22 0.22 0.04 chartintegration—sprint2
-invoice-modern_long 1:a4c7a6612c99 0.22 1.13 gbp1031
-invoice-modern_long 1:1c83f0b47e27 0.22 1.13 gbp4124
-invoice-modern_long 1:00de69c6e70f 0.27 0.04 datamapping—sprint2
-invoice-modern_long 1:b9d5c56a2cfd 0.27 1.13 gbp1068
-invoice-modern_long 1:b9d5c56a2cfd#1 0.27 1.13 gbp1068
-invoice-modern_long 1:eb628b5ea8ab 0.20 0.04 paginationhardening—sprint2
-invoice-modern_long 1:db5327b47d0e 0.20 1.13 gbp205
-invoice-modern_long 1:99d9b3b49da2 0.20 1.13 gbp410
-invoice-modern_long 1:505693cbc91e 0.25 0.04 visualregressionwiring—sprint23
-invoice-modern_long 1:9f0c5094fb63 0.25 1.13 gbp242
-invoice-modern_long 1:095b72c9d880 0.25 1.13 gbp726
-invoice-modern_long 1:2a787e61730a 0.30 0.04 docsauthoring—sprint2
-invoice-modern_long 1:28ad00e76aef 0.30 1.13 gbp279
-invoice-modern_long 1:fbb12fed0bbc 0.30 1.13 gbp1116
-invoice-modern_long 1:5369a2c40ff8 0.26 0.04 stakeholderdemo—sprint2
-invoice-modern_long 1:16562cbcd318 0.26 1.13 gbp316
-invoice-modern_long 1:16562cbcd318#1 0.26 1.13 gbp316
-invoice-modern_long 1:611b258cb41e 0.31 0.04 performanceprofiling—sprint2
-invoice-modern_long 1:e391d4e46366 0.31 1.13 gbp353
-invoice-modern_long 1:7106c00cb009 0.31 1.13 gbp706
-invoice-modern_long 1:d24a15800df1 0.24 0.04 releaseengineering—sprint2
-invoice-modern_long 1:4bed9b4092ee 0.24 1.13 gbp390
-invoice-modern_long 1:ae16cd1e31b1 0.24 1.13 gbp1170
-invoice-modern_long 1:6876c7b0fe66 0.29 0.04 supportretainer—sprint2
-invoice-modern_long 1:909481a45a34 0.29 1.13 gbp427
-invoice-modern_long 1:4e58d78d0958 0.29 1.13 gbp1708
-invoice-modern_long 1:ddce236bccd7 0.34 0.04 discoveryworkshop—sprint3
-invoice-modern_long 1:f8d17c11d834 0.34 1.13 gbp464
-invoice-modern_long 1:f8d17c11d834#1 0.34 1.13 gbp464
-invoice-modern_long 1:c0986cd7b1d4 0.27 0.04 designsystemaudit—sprint3
-invoice-modern_long 1:09c7aebd89f6 0.27 1.13 gbp501
-invoice-modern_long 1:a61c7b6bdd20 0.27 1.13 gbp1002
-invoice-modern_long 1:21fd82d170b2 0.34 0.04 templatearchitecture—sprint3
-invoice-modern_long 1:399e39a6eff5 0.34 1.13 gbp538
-invoice-modern_long 1:81ea39164f41 0.34 1.13 gbp1614
-invoice-modern_long 1:47cb1e683e8d 0.27 0.04 layoutenginetuning—sprint3
-invoice-modern_long 1:f6df6e8e8f30 0.27 1.13 gbp575
-invoice-modern_long 1:7f7db0f4c1cf 0.27 1.13 gbp2300
-invoice-modern_long 1:608e31719f07 0.32 0.04 renderqapass—sprint3
-invoice-modern_long 1:e4fbc626999e 0.32 1.13 gbp612
-invoice-modern_long 1:e4fbc626999e#1 0.32 1.13 gbp612
-invoice-modern_long 1:98bfb4deb0b7 0.25 0.04 accessibilityreview—sprint3
-invoice-modern_long 1:7915a839b285 0.25 1.13 gbp649
-invoice-modern_long 1:ca74221d78ad 0.25 1.13 gbp1298
-invoice-modern_long 1:375dddcbee43 0.30 0.04 fontpipelinesetup—sprint3
-invoice-modern_long 1:7b97f0ac8a87 0.30 1.13 gbp686
-invoice-modern_long 1:6a57f6a84a1c 0.30 1.13 gbp2058
-invoice-modern_long 1:2f4f507058ff 0.35 0.04 chartintegration—sprint3
-invoice-modern_long 1:74df855b318c 0.35 1.13 gbp723
-invoice-modern_long 1:78016cdf49ca 0.35 1.13 gbp2892
-invoice-modern_long 1:d6577e95efba 0.28 1.13 subtotal
-invoice-modern_long 1:5969b6461056 0.28 1.13 gbp44,890
-invoice-modern_long 1:a52611c9261b 0.36 1.13 vat(20%)
-invoice-modern_long 1:e7fda33332e9 0.36 1.13 gbp8,978
-invoice-modern_long 1:11239872d178 0.25 1.09 total
-invoice-modern_long 1:90b9dec01ea9 0.25 1.09 gbp53,868
-invoice-modern_long 1:ab5aa97074c4 0.23 0.00 notes
-invoice-modern_long 1:970fb4bf9d95 0.26 0.00 •sprints1-3weredeliveredunderthe
-invoice-modern_long 1:a781fa6c76d2 0.27 -0.04 frameworkagreement.
-invoice-modern_long 1:c980fb1ebf98 0.28 0.00 •hardwareandthird-partylicencesa
-invoice-modern_long 1:be1dea5817a5 0.29 -0.04 billedseparately.
-invoice-modern_long 1:fb854bac39c8 0.23 0.07 paymentterms
-invoice-modern_long 1:24274f39b50b 0.26 0.07 •paymentduewithin14calendardays.
-invoice-modern_long 1:c438440ba377 0.27 0.07 •banktransferpreferred;contact
-invoice-modern_long 1:434cc906ae90 0.28 0.04 billing@graphcompose.devfor
-invoice-modern_long 1:8822ea375315 0.29 0.04 remittancedetails.
+invoice-modern_long 0:c9046f7a37ad -0.14 0.00 description
+invoice-modern_long 0:32e8369a9c4f -0.14 1.07 qty
+invoice-modern_long 0:385cfdbc00ec -0.14 1.09 unit
+invoice-modern_long 0:cf38d95c9c6b -0.14 1.09 amount
+invoice-modern_long 0:aa29f2f4fcb4 -0.20 0.04 discoveryworkshop—sprint1
+invoice-modern_long 0:ce4081aef7a1 -0.20 1.13 gbp180
+invoice-modern_long 0:ce4081aef7a1#1 -0.20 1.13 gbp180
+invoice-modern_long 0:9c9a412f0a45 -0.15 0.04 designsystemaudit—sprint1
+invoice-modern_long 0:7be809cb1590 -0.15 1.13 gbp217
+invoice-modern_long 0:378b363c8601 -0.15 1.13 gbp434
+invoice-modern_long 0:5257532a7b5d -0.10 0.04 templatearchitecture—sprint1
+invoice-modern_long 0:c467cca4e45a -0.10 1.13 gbp254
+invoice-modern_long 0:4a4a218b012a -0.10 1.13 gbp762
+invoice-modern_long 0:58a1caacbf7e -0.17 0.04 layoutenginetuning—sprint1
+invoice-modern_long 0:dde0144b97b7 -0.17 1.13 gbp291
+invoice-modern_long 0:457a71636ad9 -0.17 1.13 gbp1164
+invoice-modern_long 0:6fcf7d6dd606 -0.12 0.04 renderqapass—sprint1
+invoice-modern_long 0:dda88f5786f5 -0.12 1.13 gbp328
+invoice-modern_long 0:dda88f5786f5#1 -0.12 1.13 gbp328
+invoice-modern_long 0:ee18ad3bbb42 -0.19 0.04 accessibilityreview—sprint1
+invoice-modern_long 0:e681b4843ffb -0.19 1.13 gbp365
+invoice-modern_long 0:1859c20b35dd -0.19 1.13 gbp730
+invoice-modern_long 0:c12c14945fcd -0.14 0.04 fontpipelinesetup—sprint1
+invoice-modern_long 0:9033a33f66e7 -0.14 1.13 gbp402
+invoice-modern_long 0:837d48c1ff40 -0.14 1.13 gbp1206
+invoice-modern_long 0:af6cba848dc0 -0.07 0.04 chartintegration—sprint1
+invoice-modern_long 0:6109a2c30104 -0.07 1.13 gbp439
+invoice-modern_long 0:87e9fcb6151d -0.07 1.13 gbp1756
+invoice-modern_long 0:a6bee1ec5e35 -0.14 0.04 datamapping—sprint1
+invoice-modern_long 0:df1f9d4443d8 -0.14 1.13 gbp476
+invoice-modern_long 0:df1f9d4443d8#1 -0.14 1.13 gbp476
+invoice-modern_long 0:052c9f49a4b8 -0.09 0.04 paginationhardening—sprint1
+invoice-modern_long 0:9fba6332e489 -0.09 1.13 gbp513
+invoice-modern_long 0:6f805c9f78c3 -0.09 1.13 gbp1026
+invoice-modern_long 0:b54b7f77d86c -0.16 0.04 visualregressionwiring—sprint13
+invoice-modern_long 0:dc3d212d6b32 -0.16 1.13 gbp550
+invoice-modern_long 0:96667fee53f3 -0.16 1.13 gbp1650
+invoice-modern_long 0:9fe9e123b0f0 -0.11 0.04 docsauthoring—sprint1
+invoice-modern_long 0:e7b406f24f04 -0.11 1.13 gbp587
+invoice-modern_long 0:74357ca6b30e -0.11 1.13 gbp2348
+invoice-modern_long 0:9c6cf539f5bc -0.06 0.04 stakeholderdemo—sprint1
+invoice-modern_long 0:cf79b5cdb735 -0.06 1.13 gbp624
+invoice-modern_long 0:cf79b5cdb735#1 -0.06 1.13 gbp624
+invoice-modern_long 0:d2bde6642670 -0.13 0.04 performanceprofiling—sprint1
+invoice-modern_long 0:679f017f73c1 -0.13 1.13 gbp661
+invoice-modern_long 0:63985b524723 -0.13 1.13 gbp1322
+invoice-modern_long 0:f82bef1ac80d -0.05 0.04 releaseengineering—sprint1
+invoice-modern_long 0:0b21b7cf2ff9 -0.05 1.13 gbp698
+invoice-modern_long 0:6afc08056aaa -0.05 1.13 gbp2094
+invoice-modern_long 0:632f71e8ff8b -0.12 0.04 supportretainer—sprint1
+invoice-modern_long 0:70b393b5fb10 -0.12 1.13 gbp735
+invoice-modern_long 0:29edf7588a57 -0.12 1.13 gbp2940
+invoice-modern_long 0:82a9218b91ae -0.07 0.04 discoveryworkshop—sprint2
+invoice-modern_long 0:c313f34b71b9 -0.07 1.13 gbp772
+invoice-modern_long 0:c313f34b71b9#1 -0.07 1.13 gbp772
+invoice-modern_long 0:7e69fbffe3e2 -0.14 0.04 designsystemaudit—sprint2
+invoice-modern_long 0:e096e4fddf9a -0.14 1.13 gbp809
+invoice-modern_long 0:c985a0123929 -0.14 1.13 gbp1618
+invoice-modern_long 0:899f0392eecb -0.10 0.04 templatearchitecture—sprint2
+invoice-modern_long 0:4c973ddb9245 -0.10 1.13 gbp846
+invoice-modern_long 0:6ec359ce3927 -0.10 1.13 gbp2538
+invoice-modern_long 0:69523ba7402c -0.05 0.04 layoutenginetuning—sprint2
+invoice-modern_long 0:0e196c2b490b -0.05 1.13 gbp883
+invoice-modern_long 0:6e0d19ab72c6 -0.05 1.13 gbp3532
+invoice-modern_long 1:c9046f7a37ad -0.10 0.00 description
+invoice-modern_long 1:32e8369a9c4f -0.10 1.07 qty
+invoice-modern_long 1:385cfdbc00ec -0.10 1.09 unit
+invoice-modern_long 1:cf38d95c9c6b -0.10 1.09 amount
+invoice-modern_long 1:f12cbb7c274d -0.07 0.04 renderqapass—sprint2
+invoice-modern_long 1:b813c73bc488 -0.07 1.13 gbp920
+invoice-modern_long 1:b813c73bc488#1 -0.07 1.13 gbp920
+invoice-modern_long 1:12cd54b50187 -0.12 0.04 accessibilityreview—sprint2
+invoice-modern_long 1:377d92702316 -0.12 1.13 gbp957
+invoice-modern_long 1:e7c66f6cf477 -0.12 1.13 gbp1914
+invoice-modern_long 1:e3d8409ace07 -0.07 0.04 fontpipelinesetup—sprint2
+invoice-modern_long 1:21604b8f0b36 -0.07 1.13 gbp994
+invoice-modern_long 1:fe15ed444063 -0.07 1.13 gbp2982
+invoice-modern_long 1:ca4d3c8eca22 -0.14 0.04 chartintegration—sprint2
+invoice-modern_long 1:a4c7a6612c99 -0.14 1.13 gbp1031
+invoice-modern_long 1:1c83f0b47e27 -0.14 1.13 gbp4124
+invoice-modern_long 1:00de69c6e70f -0.09 0.04 datamapping—sprint2
+invoice-modern_long 1:b9d5c56a2cfd -0.09 1.13 gbp1068
+invoice-modern_long 1:b9d5c56a2cfd#1 -0.09 1.13 gbp1068
+invoice-modern_long 1:eb628b5ea8ab -0.04 0.04 paginationhardening—sprint2
+invoice-modern_long 1:db5327b47d0e -0.04 1.13 gbp205
+invoice-modern_long 1:99d9b3b49da2 -0.04 1.13 gbp410
+invoice-modern_long 1:505693cbc91e -0.11 0.04 visualregressionwiring—sprint23
+invoice-modern_long 1:9f0c5094fb63 -0.11 1.13 gbp242
+invoice-modern_long 1:095b72c9d880 -0.11 1.13 gbp726
+invoice-modern_long 1:2a787e61730a -0.06 0.04 docsauthoring—sprint2
+invoice-modern_long 1:28ad00e76aef -0.06 1.13 gbp279
+invoice-modern_long 1:fbb12fed0bbc -0.06 1.13 gbp1116
+invoice-modern_long 1:5369a2c40ff8 -0.10 0.04 stakeholderdemo—sprint2
+invoice-modern_long 1:16562cbcd318 -0.10 1.13 gbp316
+invoice-modern_long 1:16562cbcd318#1 -0.10 1.13 gbp316
+invoice-modern_long 1:611b258cb41e -0.05 0.04 performanceprofiling—sprint2
+invoice-modern_long 1:e391d4e46366 -0.05 1.13 gbp353
+invoice-modern_long 1:7106c00cb009 -0.05 1.13 gbp706
+invoice-modern_long 1:d24a15800df1 -0.12 0.04 releaseengineering—sprint2
+invoice-modern_long 1:4bed9b4092ee -0.12 1.13 gbp390
+invoice-modern_long 1:ae16cd1e31b1 -0.12 1.13 gbp1170
+invoice-modern_long 1:6876c7b0fe66 -0.07 0.04 supportretainer—sprint2
+invoice-modern_long 1:909481a45a34 -0.07 1.13 gbp427
+invoice-modern_long 1:4e58d78d0958 -0.07 1.13 gbp1708
+invoice-modern_long 1:ddce236bccd7 -0.02 0.04 discoveryworkshop—sprint3
+invoice-modern_long 1:f8d17c11d834 -0.02 1.13 gbp464
+invoice-modern_long 1:f8d17c11d834#1 -0.02 1.13 gbp464
+invoice-modern_long 1:c0986cd7b1d4 -0.09 0.04 designsystemaudit—sprint3
+invoice-modern_long 1:09c7aebd89f6 -0.09 1.13 gbp501
+invoice-modern_long 1:a61c7b6bdd20 -0.09 1.13 gbp1002
+invoice-modern_long 1:21fd82d170b2 -0.02 0.04 templatearchitecture—sprint3
+invoice-modern_long 1:399e39a6eff5 -0.02 1.13 gbp538
+invoice-modern_long 1:81ea39164f41 -0.02 1.13 gbp1614
+invoice-modern_long 1:47cb1e683e8d -0.09 0.04 layoutenginetuning—sprint3
+invoice-modern_long 1:f6df6e8e8f30 -0.09 1.13 gbp575
+invoice-modern_long 1:7f7db0f4c1cf -0.09 1.13 gbp2300
+invoice-modern_long 1:608e31719f07 -0.04 0.04 renderqapass—sprint3
+invoice-modern_long 1:e4fbc626999e -0.04 1.13 gbp612
+invoice-modern_long 1:e4fbc626999e#1 -0.04 1.13 gbp612
+invoice-modern_long 1:98bfb4deb0b7 0.01 0.04 accessibilityreview—sprint3
+invoice-modern_long 1:7915a839b285 0.01 1.13 gbp649
+invoice-modern_long 1:ca74221d78ad 0.01 1.13 gbp1298
+invoice-modern_long 1:375dddcbee43 -0.06 0.04 fontpipelinesetup—sprint3
+invoice-modern_long 1:7b97f0ac8a87 -0.06 1.13 gbp686
+invoice-modern_long 1:6a57f6a84a1c -0.06 1.13 gbp2058
+invoice-modern_long 1:2f4f507058ff -0.01 0.04 chartintegration—sprint3
+invoice-modern_long 1:74df855b318c -0.01 1.13 gbp723
+invoice-modern_long 1:78016cdf49ca -0.01 1.13 gbp2892
+invoice-modern_long 1:d6577e95efba -0.08 1.13 subtotal
+invoice-modern_long 1:5969b6461056 -0.08 1.13 gbp44,890
+invoice-modern_long 1:a52611c9261b 0.00 1.13 vat(20%)
+invoice-modern_long 1:e7fda33332e9 0.00 1.13 gbp8,978
+invoice-modern_long 1:11239872d178 0.01 1.09 total
+invoice-modern_long 1:90b9dec01ea9 0.01 1.09 gbp53,868
+invoice-modern_long 1:ab5aa97074c4 0.11 0.00 notes
+invoice-modern_long 1:970fb4bf9d95 0.14 0.00 •sprints1-3weredeliveredunderthe
+invoice-modern_long 1:a781fa6c76d2 0.15 -0.04 frameworkagreement.
+invoice-modern_long 1:c980fb1ebf98 0.16 0.00 •hardwareandthird-partylicencesa
+invoice-modern_long 1:be1dea5817a5 0.17 -0.04 billedseparately.
+invoice-modern_long 1:fb854bac39c8 0.11 0.07 paymentterms
+invoice-modern_long 1:24274f39b50b 0.14 0.07 •paymentduewithin14calendardays.
+invoice-modern_long 1:c438440ba377 0.15 0.07 •banktransferpreferred;contact
+invoice-modern_long 1:434cc906ae90 0.16 0.04 billing@graphcompose.devfor
+invoice-modern_long 1:8822ea375315 0.17 0.04 remittancedetails.
invoice-modern_long 1:e3337beaa171 0.09 -0.04 thankyouforchoosinggraphcomposef
invoice-obsidian 0:07f15cde5b18 0.11 -0.04 kestrel
invoice-obsidian 0:52d6e3de4fa0 0.15 -0.04 invoice
@@ -3184,7 +3184,7 @@ invoice-payments 0:dc934fe30a94#1 -0.01 0.17 20%
invoice-payments 0:dc934fe30a94#2 0.03 0.17 20%
invoice-payments 0:dc934fe30a94#3 0.03 0.17 20%
invoice-payments 0:dc934fe30a94#4 0.03 0.17 20%
-invoice-payments 0:dc934fe30a94#5 0.02 0.17 20%
+invoice-payments 0:dc934fe30a94#5 -0.10 0.17 20%
invoice-payments 0:0a9acaea6477 0.00 0.40 paymentprocessing
invoice-payments 0:b8a3c21545b4 0.16 0.40 onlinecardpaymentsprocessing
invoice-payments 0:b42561a38a06 0.08 0.40 (volumetier)
@@ -3204,7 +3204,7 @@ invoice-payments 0:3c4459a5e4ec 0.03 -0.13 £39.00
invoice-payments 0:5d16afda896e -0.02 0.73 £156.00
invoice-payments 0:0036ebf2cfb2 0.00 0.40 prioritysupport
invoice-payments 0:7ef1d2ff5e3a 0.04 0.40 namedengineer,one-hourresponse
-invoice-payments 0:cf02270203a4 0.02 -0.30 £100.00
+invoice-payments 0:cf02270203a4 -0.10 -0.30 £100.00
invoice-payments 0:cf02270203a4#1 -0.02 0.73 £100.00
invoice-payments 0:3c7ade679fdf -0.11 0.12 paymentdetails
invoice-payments 0:182748d2fece -0.03 0.09 bankname
@@ -3276,12 +3276,12 @@ invoice-platform 0:c7a9cfdd1c55 -0.44 -0.06 vatid:gb987654321
invoice-platform 0:725a8f5062e7 -0.36 0.34 shipto
invoice-platform 0:5895c7cd8d5b -0.29 0.34 warehouse7
invoice-platform 0:caf76743df2d -0.36 0.34 northindustrialestate
-invoice-platform 0:c9046f7a37ad -0.19 0.04 description
-invoice-platform 0:9df6b026a8c6 -0.19 0.14 service
-invoice-platform 0:c697d2981bf4 -0.19 0.17 region
-invoice-platform 0:0a4e4c29432e -0.19 0.16 usage
-invoice-platform 0:965711fdf178 -0.19 -0.67 unitprice(cad)
-invoice-platform 0:1742adf77d8c -0.19 -0.53 amount(cad)
+invoice-platform 0:c9046f7a37ad 0.17 0.04 description
+invoice-platform 0:9df6b026a8c6 0.17 0.14 service
+invoice-platform 0:c697d2981bf4 0.17 0.17 region
+invoice-platform 0:0a4e4c29432e 0.17 0.16 usage
+invoice-platform 0:965711fdf178 0.17 -0.67 unitprice(cad)
+invoice-platform 0:1742adf77d8c 0.17 -0.53 amount(cad)
invoice-platform 0:b04a12f6483e -0.19 0.14 compute
invoice-platform 0:a2cd33d50126 -0.19 0.17 ca-central1
invoice-platform 0:a2cd33d50126#1 -0.14 0.17 ca-central1
@@ -3383,35 +3383,35 @@ invoice-subscription 0:32e8369a9c4f 0.60 0.04 qty
invoice-subscription 0:d1062d072acd 0.60 0.01 unitprice
invoice-subscription 0:7c512b48ba8a 0.60 0.08 vat
invoice-subscription 0:cf38d95c9c6b 0.60 0.01 amount
-invoice-subscription 0:86705447c73d 0.61 0.06 halsteadworkspacepremium(10seats
-invoice-subscription 0:0c8dc980db3f 0.61 0.06 £18.00
-invoice-subscription 0:dc934fe30a94 0.61 0.11 20%
-invoice-subscription 0:dc934fe30a94#1 0.68 0.11 20%
-invoice-subscription 0:dc934fe30a94#2 0.65 0.11 20%
-invoice-subscription 0:dc934fe30a94#3 0.72 0.11 20%
-invoice-subscription 0:dc934fe30a94#4 0.67 0.11 20%
-invoice-subscription 0:629184210581 0.61 0.10 £180.00
-invoice-subscription 0:59df1d2b0f69 0.68 0.06 hostedplatformservices
-invoice-subscription 0:44c1ce3394d2 0.68 0.01 £420.00
-invoice-subscription 0:44c1ce3394d2#1 0.68 0.11 £420.00
-invoice-subscription 0:217bada1d20f 0.65 0.06 analyticsprolicences(5seats)
-invoice-subscription 0:599cd58953ce 0.65 0.02 £8.40
-invoice-subscription 0:756b8c62fe05 0.65 0.16 £42.00
-invoice-subscription 0:b055bcc305ed 0.72 0.06 prioritysupportplan
-invoice-subscription 0:1077d7cede59 0.72 0.09 £275.00
-invoice-subscription 0:1077d7cede59#1 0.72 0.19 £275.00
-invoice-subscription 0:361537ef6a11 0.67 0.06 voiceadd-on(5seats)
-invoice-subscription 0:8bf9ac7b27bd 0.67 0.12 £6.00
-invoice-subscription 0:893d7480f763 0.67 0.18 £30.00
+invoice-subscription 0:86705447c73d 0.37 0.06 halsteadworkspacepremium(10seats
+invoice-subscription 0:0c8dc980db3f 0.37 0.06 £18.00
+invoice-subscription 0:dc934fe30a94 0.37 0.11 20%
+invoice-subscription 0:dc934fe30a94#1 0.32 0.11 20%
+invoice-subscription 0:dc934fe30a94#2 0.41 0.11 20%
+invoice-subscription 0:dc934fe30a94#3 0.48 0.11 20%
+invoice-subscription 0:dc934fe30a94#4 0.43 0.11 20%
+invoice-subscription 0:629184210581 0.37 0.10 £180.00
+invoice-subscription 0:59df1d2b0f69 0.32 0.06 hostedplatformservices
+invoice-subscription 0:44c1ce3394d2 0.32 0.01 £420.00
+invoice-subscription 0:44c1ce3394d2#1 0.32 0.11 £420.00
+invoice-subscription 0:217bada1d20f 0.41 0.06 analyticsprolicences(5seats)
+invoice-subscription 0:599cd58953ce 0.41 0.02 £8.40
+invoice-subscription 0:756b8c62fe05 0.41 0.16 £42.00
+invoice-subscription 0:b055bcc305ed 0.48 0.06 prioritysupportplan
+invoice-subscription 0:1077d7cede59 0.48 0.09 £275.00
+invoice-subscription 0:1077d7cede59#1 0.48 0.19 £275.00
+invoice-subscription 0:361537ef6a11 0.43 0.06 voiceadd-on(5seats)
+invoice-subscription 0:8bf9ac7b27bd 0.43 0.12 £6.00
+invoice-subscription 0:893d7480f763 0.43 0.18 £30.00
invoice-subscription 0:ab5aa97074c4 0.92 0.04 notes
invoice-subscription 0:4440ed73b83f 0.40 0.04 thisinvoicecoverssoftwaresubscri
invoice-subscription 0:fffc319556fa 0.52 0.04 hostedservicesforthecurrentbilli
-invoice-subscription 0:d6577e95efba 0.69 0.12 subtotal
-invoice-subscription 0:adde9b2bd3ad 0.69 0.34 £947.00
-invoice-subscription 0:a52611c9261b 0.77 0.12 vat(20%)
-invoice-subscription 0:14edcfc20351 0.77 0.35 £189.40
-invoice-subscription 0:57a66d21eb1b 0.74 0.12 totaldue
-invoice-subscription 0:cf1b68cc49ef 0.95 0.80 £1,136.40
+invoice-subscription 0:d6577e95efba 0.45 0.12 subtotal
+invoice-subscription 0:adde9b2bd3ad 0.45 0.34 £947.00
+invoice-subscription 0:a52611c9261b 0.53 0.12 vat(20%)
+invoice-subscription 0:14edcfc20351 0.53 0.35 £189.40
+invoice-subscription 0:57a66d21eb1b 0.38 0.12 totaldue
+invoice-subscription 0:cf1b68cc49ef 0.59 0.80 £1,136.40
invoice-subscription 0:3c7ade679fdf 0.97 0.04 paymentdetails
invoice-subscription 0:56ed021beb35 0.50 0.19 beneficiary
invoice-subscription 0:0b85f3c8ed04 0.56 0.20 halsteadsoftwareltd
@@ -3431,7 +3431,7 @@ invoice-workspace 0:07f15cde5b18 -0.12 0.05 kestrel
invoice-workspace 0:07f15cde5b18#1 -0.14 0.05 kestrel
invoice-workspace 0:52d6e3de4fa0 -0.10 0.46 invoice
invoice-workspace 0:091019880d88 -0.31 0.12 kestrelcollaboration,inc.
-invoice-workspace 0:091019880d88#1 -0.18 0.00 kestrelcollaboration,inc.
+invoice-workspace 0:091019880d88#1 -0.06 0.00 kestrelcollaboration,inc.
invoice-workspace 0:091019880d88#2 -0.30 0.06 kestrelcollaboration,inc.
invoice-workspace 0:9167e0470dae -0.22 0.12 500howardstreet,6thfloor
invoice-workspace 0:efa5e1529794 -0.26 0.12 sanfrancisco,ca94105
@@ -3439,7 +3439,7 @@ invoice-workspace 0:fd7321c405f8 -0.17 0.12 unitedstates
invoice-workspace 0:d3c6f273c22d -0.14 0.00 vatid:us77-0560185
invoice-workspace 0:6282391a4cc1 -0.30 0.10 invoicenumber:
invoice-workspace 0:b13757c9a6fc -0.21 0.08 inv-2024-0003521
-invoice-workspace 0:b13757c9a6fc#1 -0.37 0.00 inv-2024-0003521
+invoice-workspace 0:b13757c9a6fc#1 -0.25 0.00 inv-2024-0003521
invoice-workspace 0:8d05f5d55191 -0.33 0.10 invoicedate:
invoice-workspace 0:8da43dd45024 -0.23 0.08 27may2024
invoice-workspace 0:d39366fa1423 -0.23 0.10 billingperiod:
@@ -3462,24 +3462,24 @@ invoice-workspace 0:c7a9cfdd1c55 -0.05 0.06 vatid:gb987654321
invoice-workspace 0:725a8f5062e7 -0.12 0.14 shipto
invoice-workspace 0:6d835e737af6 -0.14 0.02 unit4,riversidepark
invoice-workspace 0:555d5194cd4d -0.10 0.02 leedsls14ap
-invoice-workspace 0:c9046f7a37ad -0.08 0.43 description
-invoice-workspace 0:169240d91658 -0.08 0.21 plan/service
-invoice-workspace 0:32e8369a9c4f -0.08 0.14 qty
-invoice-workspace 0:e2a9c81da5f6 -0.08 0.24 unitprice(usd)
-invoice-workspace 0:5dfb966b2bcf -0.08 0.44 amount(usd)
+invoice-workspace 0:c9046f7a37ad 0.04 0.43 description
+invoice-workspace 0:169240d91658 0.04 0.21 plan/service
+invoice-workspace 0:32e8369a9c4f 0.04 0.14 qty
+invoice-workspace 0:e2a9c81da5f6 0.04 0.24 unitprice(usd)
+invoice-workspace 0:5dfb966b2bcf 0.04 0.44 amount(usd)
invoice-workspace 0:2bcc555090a1 0.01 0.43 kestrelbusiness+
invoice-workspace 0:68fad867a983 0.06 0.43 workspacesubscription
-invoice-workspace 0:e0b844887562 -0.06 0.48 business+annual
-invoice-workspace 0:84906b0f4b73 -0.06 0.39 50users
-invoice-workspace 0:5ee31a6284bc -0.06 0.41 8.75
-invoice-workspace 0:843d501d422c -0.06 0.36 437.50
-invoice-workspace 0:3007667b4e18 -0.09 0.43 enterprisekeymanagement
-invoice-workspace 0:162e9c93c528 -0.04 0.43 customer-managedencryptionkeys
+invoice-workspace 0:e0b844887562 0.06 0.48 business+annual
+invoice-workspace 0:84906b0f4b73 0.06 0.39 50users
+invoice-workspace 0:5ee31a6284bc 0.06 0.41 8.75
+invoice-workspace 0:843d501d422c 0.06 0.36 437.50
+invoice-workspace 0:3007667b4e18 0.03 0.43 enterprisekeymanagement
+invoice-workspace 0:162e9c93c528 0.08 0.43 customer-managedencryptionkeys
invoice-workspace 0:a33a54a73112 -0.04 0.47 add-on
invoice-workspace 0:d66c66a96157 -0.04 0.42 100.00
invoice-workspace 0:d66c66a96157#1 -0.04 0.36 100.00
-invoice-workspace 0:0036ebf2cfb2 -0.09 0.43 prioritysupport
-invoice-workspace 0:51833276172f -0.04 0.43 namedengineerandresponsetarget
+invoice-workspace 0:0036ebf2cfb2 0.03 0.43 prioritysupport
+invoice-workspace 0:51833276172f 0.08 0.43 namedengineerandresponsetarget
invoice-workspace 0:fe6d3468cf5c -0.04 0.45 standard
invoice-workspace 0:a99210875f11 -0.04 0.36 50.00
invoice-workspace 0:a99210875f11#1 -0.04 0.41 50.00
@@ -3489,32 +3489,32 @@ invoice-workspace 0:7f0f70e643bc -0.04 0.41 included
invoice-workspace 0:561b2814d3c0 -0.04 0.41 0.00
invoice-workspace 0:561b2814d3c0#1 -0.04 0.34 0.00
invoice-workspace 0:561b2814d3c0#2 -0.03 0.32 0.00
-invoice-workspace 0:3c7ade679fdf -0.25 0.01 paymentdetails
-invoice-workspace 0:944d398aea60 -0.17 0.07 bankname:
-invoice-workspace 0:a18e9fdf120e -0.17 0.00 bayunionbank,n.a.
-invoice-workspace 0:0ecb5847ffa7 -0.18 0.07 accountname:
-invoice-workspace 0:6b4894c28363 -0.22 0.07 accountnumber:
-invoice-workspace 0:ab92799f9bc7 -0.22 0.00 000000123456789
-invoice-workspace 0:c1390f638bd3 -0.26 0.07 routing(aba):
-invoice-workspace 0:1f873cdde0ca -0.26 0.00 021000021
-invoice-workspace 0:e58256751597 -0.30 0.07 swift/bic:
-invoice-workspace 0:0fdf54f117f8 -0.30 0.00 bayuus33
-invoice-workspace 0:967e0b6ca4b9 -0.33 0.07 currency:
-invoice-workspace 0:d60fbd8718ec -0.33 0.00 usd
-invoice-workspace 0:c608665436db -0.37 0.07 reference:
-invoice-workspace 0:3db3fa89ea2c -0.41 0.07 bankaddress:
-invoice-workspace 0:b1645851e755 -0.41 0.00 1marketplaza,sanfrancisco
-invoice-workspace 0:9b600d1211c8 0.46 0.06 pleaseincludetheinvoicenumberiny
-invoice-workspace 0:415eb9e42f41 -0.79 0.06 reference.
+invoice-workspace 0:3c7ade679fdf -0.13 0.01 paymentdetails
+invoice-workspace 0:944d398aea60 -0.05 0.07 bankname:
+invoice-workspace 0:a18e9fdf120e -0.05 0.00 bayunionbank,n.a.
+invoice-workspace 0:0ecb5847ffa7 -0.06 0.07 accountname:
+invoice-workspace 0:6b4894c28363 -0.10 0.07 accountnumber:
+invoice-workspace 0:ab92799f9bc7 -0.10 0.00 000000123456789
+invoice-workspace 0:c1390f638bd3 -0.14 0.07 routing(aba):
+invoice-workspace 0:1f873cdde0ca -0.14 0.00 021000021
+invoice-workspace 0:e58256751597 -0.18 0.07 swift/bic:
+invoice-workspace 0:0fdf54f117f8 -0.18 0.00 bayuus33
+invoice-workspace 0:967e0b6ca4b9 -0.21 0.07 currency:
+invoice-workspace 0:d60fbd8718ec -0.21 0.00 usd
+invoice-workspace 0:c608665436db -0.25 0.07 reference:
+invoice-workspace 0:3db3fa89ea2c -0.29 0.07 bankaddress:
+invoice-workspace 0:b1645851e755 -0.29 0.00 1marketplaza,sanfrancisco
+invoice-workspace 0:9b600d1211c8 0.58 0.06 pleaseincludetheinvoicenumberiny
+invoice-workspace 0:415eb9e42f41 -0.67 0.06 reference.
invoice-workspace 0:d6577e95efba -0.09 0.09 subtotal
invoice-workspace 0:460dd5bae888 -0.09 0.39 587.50
invoice-workspace 0:2ee4d3de4ddf -0.03 0.09 tax(0%)
-invoice-workspace 0:57a66d21eb1b -0.14 0.09 totaldue
-invoice-workspace 0:ad00e93ce79a -0.18 0.64 usd587.50
+invoice-workspace 0:57a66d21eb1b -0.02 0.09 totaldue
+invoice-workspace 0:ad00e93ce79a -0.06 0.64 usd587.50
invoice-workspace 0:b0553f008513 -0.07 0.15 paymentdueby
invoice-workspace 0:08775a92bfca -0.32 -0.01 thankyouforusingkestrel.
-invoice-workspace 0:18e82fbd48a3 -0.31 -0.01 questionsaboutthisinvoice?reachu
-invoice-workspace 0:3c72ba0e1eb8 -0.32 0.06 500howardstreet,6thfloor,sanfran
+invoice-workspace 0:18e82fbd48a3 -0.19 -0.01 questionsaboutthisinvoice?reachu
+invoice-workspace 0:3c72ba0e1eb8 -0.20 0.06 500howardstreet,6thfloor,sanfran
invoice-workspace 0:9e2917e23527 -0.31 -0.10 kestrel.example
invoice-workspace 0:7b14b8d2c5c4 0.08 -0.16 page1of1
letter-blue_banner 0:8f1010120ed6 0.02 0.04 jordanrivera
@@ -3765,19 +3765,19 @@ proposal-editorial 1:8b712e7e93bf 0.08 0.51 contentstrategy&pagetemplates
proposal-editorial 1:e9bf06d9b130 0.04 0.39 developer-readyassets&specificat
proposal-editorial 1:e93e7ba95ceb 0.12 0.39 launchchecklist&trainingsession
proposal-editorial 1:94d192b3a326 0.35 0.00 timeline
-proposal-editorial 1:02195b8e9896 0.38 -0.04 phase
-proposal-editorial 1:c51faa148557 0.38 0.07 focus
-proposal-editorial 1:caa79af4db67 0.38 0.07 duration
-proposal-editorial 1:e0ee8bb50685 0.38 0.13 output
+proposal-editorial 1:02195b8e9896 0.50 -0.04 phase
+proposal-editorial 1:c51faa148557 0.50 0.07 focus
+proposal-editorial 1:caa79af4db67 0.50 0.07 duration
+proposal-editorial 1:e0ee8bb50685 0.50 0.13 output
proposal-editorial 1:9a5c531db125 0.32 -0.04 01discover
proposal-editorial 1:99b15ca862e5 0.32 0.07 1week
proposal-editorial 1:99b15ca862e5#1 0.42 0.07 1week
proposal-editorial 1:7817fa5085e2 0.65 0.07 research,audit,insights,and
-proposal-editorial 1:73dff70e25ad 0.72 0.07 strategy
+proposal-editorial 1:73dff70e25ad 0.60 0.07 strategy
proposal-editorial 1:ddfbc608570a 0.65 0.13 discoveryreport&creative
-proposal-editorial 1:93c4abe27cf1 0.72 0.13 direction
-proposal-editorial 1:9285b279249c 0.43 -0.04 02design
-proposal-editorial 1:b183847fe9f8 0.43 0.07 2weeks
+proposal-editorial 1:93c4abe27cf1 0.60 0.13 direction
+proposal-editorial 1:9285b279249c 0.31 -0.04 02design
+proposal-editorial 1:b183847fe9f8 0.31 0.07 2weeks
proposal-editorial 1:b183847fe9f8#1 0.50 0.07 2weeks
proposal-editorial 1:1e0716635ae3 0.76 0.07 brandrefinementandwebsite
proposal-editorial 1:80f5fb36f074 0.71 0.07 ux/uidesign
@@ -3785,44 +3785,44 @@ proposal-editorial 1:ad5e8a376247 0.76 0.13 designsystem&high-fidelity
proposal-editorial 1:dbb1831acb45 0.71 0.13 designs
proposal-editorial 1:ea1ecc5ce8ad 0.42 -0.04 03developprep
proposal-editorial 1:381b99928ddd 0.75 0.07 contentstructure,developer
-proposal-editorial 1:b144c5104484 0.82 0.07 handoff&assetpreparation
+proposal-editorial 1:b144c5104484 0.70 0.07 handoff&assetpreparation
proposal-editorial 1:6ba4e54f2632 0.75 0.13 specs,assets&content
-proposal-editorial 1:06a61df042ad 0.82 0.13 framework
+proposal-editorial 1:06a61df042ad 0.70 0.13 framework
proposal-editorial 1:17f923a4777c 0.50 -0.04 04launchsupport
proposal-editorial 1:8f16bc1588b5 0.50 0.07 qa,training&go-liveassistance
proposal-editorial 1:7c23497e09b0 0.50 0.13 qasign-off&successfullaunch
-proposal-editorial 1:f9b21c4bda58 0.94 0.00 investment
-proposal-editorial 1:4a33eacd5fa6 0.76 0.44 item
-proposal-editorial 1:2da123241332 0.76 0.42 amount(gbp)
+proposal-editorial 1:f9b21c4bda58 0.82 0.00 investment
+proposal-editorial 1:4a33eacd5fa6 0.88 0.44 item
+proposal-editorial 1:2da123241332 0.88 0.42 amount(gbp)
proposal-editorial 1:1167b381fe2f 0.85 0.44 discovery&strategy
proposal-editorial 1:572a8dc5a455 0.85 0.35 £2,500
-proposal-editorial 1:7c2ad9ba0fd0 0.89 0.44 brandidentityrefinement
-proposal-editorial 1:7f2732df7390 0.89 0.35 £4,500
-proposal-editorial 1:fc5134bf5fd1 0.93 0.44 websiteux/uidesign
-proposal-editorial 1:8534d989b9ed 0.93 0.35 £7,000
-proposal-editorial 1:32001e20b2ed 0.97 0.44 contentstructure&messaging
-proposal-editorial 1:e58a378ffc52 0.97 0.35 £2,000
-proposal-editorial 1:8c7703bb6fb7 1.01 0.44 launchsupport
-proposal-editorial 1:d423fc0a31c2 1.01 0.35 £1,500
-proposal-editorial 1:d6577e95efba 1.08 0.44 subtotal
-proposal-editorial 1:8873236d3571 1.08 0.33 £17,500
-proposal-editorial 1:3d213570f707 1.12 0.44 optional:3monthspost-launchsuppo
-proposal-editorial 1:7ffd918ebc4a 1.12 0.41 £1,750
-proposal-editorial 1:58656319146d 1.16 0.44 totalinvestment
-proposal-editorial 1:4aadcd9bc785 1.16 0.38 £19,250
-proposal-editorial 1:51d2361f4fae 0.94 0.12 terms
+proposal-editorial 1:7c2ad9ba0fd0 1.01 0.44 brandidentityrefinement
+proposal-editorial 1:7f2732df7390 1.01 0.35 £4,500
+proposal-editorial 1:fc5134bf5fd1 1.05 0.44 websiteux/uidesign
+proposal-editorial 1:8534d989b9ed 1.05 0.35 £7,000
+proposal-editorial 1:32001e20b2ed 1.09 0.44 contentstructure&messaging
+proposal-editorial 1:e58a378ffc52 1.09 0.35 £2,000
+proposal-editorial 1:8c7703bb6fb7 1.13 0.44 launchsupport
+proposal-editorial 1:d423fc0a31c2 1.13 0.35 £1,500
+proposal-editorial 1:d6577e95efba 1.20 0.44 subtotal
+proposal-editorial 1:8873236d3571 1.20 0.33 £17,500
+proposal-editorial 1:3d213570f707 1.24 0.44 optional:3monthspost-launchsuppo
+proposal-editorial 1:7ffd918ebc4a 1.24 0.41 £1,750
+proposal-editorial 1:58656319146d 1.28 0.44 totalinvestment
+proposal-editorial 1:4aadcd9bc785 1.28 0.38 £19,250
+proposal-editorial 1:51d2361f4fae 0.82 0.12 terms
proposal-editorial 1:99ffab766326 0.58 0.48 50%depositisrequiredtosecurethe
-proposal-editorial 1:5414e5671cbd 0.61 0.08 projectandschedulethekick-off.
-proposal-editorial 1:832db31f5c9a 0.64 0.48 includestworoundsofrevisionsper
-proposal-editorial 1:5130aeada3db 0.67 0.08 majordeliverable.
-proposal-editorial 1:06ebb5670fa8 0.40 0.60 ownershipofallfinaldeliverables
+proposal-editorial 1:5414e5671cbd 0.49 0.08 projectandschedulethekick-off.
+proposal-editorial 1:832db31f5c9a 0.52 0.48 includestworoundsofrevisionsper
+proposal-editorial 1:5130aeada3db 0.55 0.08 majordeliverable.
+proposal-editorial 1:06ebb5670fa8 0.28 0.60 ownershipofallfinaldeliverables
proposal-editorial 1:deda6d86d965 0.67 0.08 transferstoasterahealthco.after
proposal-editorial 1:aaa7d3e9affb 0.32 0.08 fullpaymentisreceived.
-proposal-editorial 1:c1514c6cdad1 1.66 0.00 acceptance
-proposal-editorial 1:893663b06769 1.30 0.00 bysigningbelow,youagreetothescop
-proposal-editorial 1:df16232de5b9 1.33 0.00 acceptedby:
-proposal-editorial 1:f089d24d7cf3 1.33 -0.01 signature:
-proposal-editorial 1:c74c9cd82f13 1.33 -0.19 date:
+proposal-editorial 1:c1514c6cdad1 1.42 0.00 acceptance
+proposal-editorial 1:893663b06769 1.06 0.00 bysigningbelow,youagreetothescop
+proposal-editorial 1:df16232de5b9 1.21 0.00 acceptedby:
+proposal-editorial 1:f089d24d7cf3 1.21 -0.01 signature:
+proposal-editorial 1:c74c9cd82f13 1.21 -0.19 date:
proposal-editorial 1:026890c58de9 0.12 0.00 northlinestudio|northlinestudio.
proposal-indigo 0:07f15cde5b18 0.22 -0.07 kestrel
proposal-indigo 0:ecd1378bc9dc 0.18 -0.46 proposal
@@ -3910,34 +3910,34 @@ proposal-modern 0:f890faef907f 0.00 0.01 northwindsystems
proposal-modern 0:577a7fcdaa02 -0.05 0.01 attn:procurement
proposal-modern 0:91eefd794f79 -0.13 0.01 410marketavenue
proposal-modern 0:3daace874084 -0.08 0.01 procurement@northwind.example
-proposal-modern 0:5f161c914988 -0.05 -0.04 scope
-proposal-modern 0:9e580657f485 -0.02 -0.04 discovery,architecture,andarefer
-proposal-modern 0:cec9111de36d -0.11 -0.04 approach
-proposal-modern 0:3215ea3be6d9 -0.08 -0.04 iterativedeliverywithweeklycheck
-proposal-modern 0:94d192b3a326 -0.05 -0.04 timeline
-proposal-modern 0:02195b8e9896 0.14 0.00 phase
-proposal-modern 0:caa79af4db67 0.14 0.06 duration
-proposal-modern 0:41ffd8b76afc 0.14 0.01 details
-proposal-modern 0:fa44132b238e 0.19 0.04 discovery
-proposal-modern 0:fa44132b238e#1 0.19 0.04 discovery
-proposal-modern 0:b183847fe9f8 0.19 -0.02 2weeks
-proposal-modern 0:4b20bfb69ca7 0.19 0.05 stakeholderinterviews+audit
-proposal-modern 0:44575cf5b285 0.24 0.04 build
-proposal-modern 0:44575cf5b285#1 0.24 0.04 build
-proposal-modern 0:5a6b4bf425f2 0.24 -0.02 6weeks
-proposal-modern 0:7a802048127d 0.24 0.05 engine+templatemigration
+proposal-modern 0:5f161c914988 0.07 -0.04 scope
+proposal-modern 0:9e580657f485 0.10 -0.04 discovery,architecture,andarefer
+proposal-modern 0:cec9111de36d 0.01 -0.04 approach
+proposal-modern 0:3215ea3be6d9 0.04 -0.04 iterativedeliverywithweeklycheck
+proposal-modern 0:94d192b3a326 0.07 -0.04 timeline
+proposal-modern 0:02195b8e9896 0.02 0.00 phase
+proposal-modern 0:caa79af4db67 0.02 0.06 duration
+proposal-modern 0:41ffd8b76afc 0.02 0.01 details
+proposal-modern 0:fa44132b238e -0.05 0.04 discovery
+proposal-modern 0:fa44132b238e#1 -0.17 0.04 discovery
+proposal-modern 0:b183847fe9f8 -0.05 -0.02 2weeks
+proposal-modern 0:4b20bfb69ca7 -0.05 0.05 stakeholderinterviews+audit
+proposal-modern 0:44575cf5b285 -0.12 0.04 build
+proposal-modern 0:44575cf5b285#1 -0.12 0.04 build
+proposal-modern 0:5a6b4bf425f2 -0.12 -0.02 6weeks
+proposal-modern 0:7a802048127d -0.12 0.05 engine+templatemigration
proposal-modern 0:f9b21c4bda58 -0.03 -0.04 investment
-proposal-modern 0:4a33eacd5fa6 0.16 0.00 item
-proposal-modern 0:c9046f7a37ad 0.16 0.06 description
-proposal-modern 0:cf38d95c9c6b 0.16 1.12 amount
-proposal-modern 0:fe9b6b4f133b 0.19 -0.02 workshops+auditgbp6,000
-proposal-modern 0:62e788ae3916 0.24 -0.02 engine+templatesgbp24,000
-proposal-modern 0:11239872d178 0.12 0.00 total
-proposal-modern 0:1c3065490625 0.12 1.12 gbp30,000
-proposal-modern 0:63feb7230a5d -0.01 -0.04 acceptanceterms
-proposal-modern 0:35046a9f5675 0.26 0.00 •50%onsignature,50%ondelivery.
-proposal-modern 0:f03c1877ea2b 0.27 0.00 •validfor30daysfromthepreparedda
-proposal-modern 0:90572e911376 0.07 -0.04 thankyouforconsideringgraphcompo
+proposal-modern 0:4a33eacd5fa6 -0.08 0.00 item
+proposal-modern 0:c9046f7a37ad -0.08 0.06 description
+proposal-modern 0:cf38d95c9c6b -0.08 1.12 amount
+proposal-modern 0:fe9b6b4f133b -0.17 -0.02 workshops+auditgbp6,000
+proposal-modern 0:62e788ae3916 -0.12 -0.02 engine+templatesgbp24,000
+proposal-modern 0:11239872d178 -0.12 0.00 total
+proposal-modern 0:1c3065490625 -0.12 1.12 gbp30,000
+proposal-modern 0:63feb7230a5d -0.13 -0.04 acceptanceterms
+proposal-modern 0:35046a9f5675 0.14 0.00 •50%onsignature,50%ondelivery.
+proposal-modern 0:f03c1877ea2b 0.15 0.00 •validfor30daysfromthepreparedda
+proposal-modern 0:90572e911376 -0.05 -0.04 thankyouforconsideringgraphcompo
proposal-northline 0:5205c2a261bc -0.43 0.04 northline
proposal-northline 0:da0daaba4b15 -0.43 0.04 studio
proposal-northline 0:ecd1378bc9dc -0.34 0.21 proposal
@@ -4009,17 +4009,17 @@ proposal-northline 1:8b712e7e93bf -0.13 0.52 contentstrategy&pagetemplates
proposal-northline 1:e9bf06d9b130 -0.09 0.40 developer-readyassets&specificat
proposal-northline 1:e93e7ba95ceb -0.05 0.40 launchchecklist&trainingsession
proposal-northline 1:94d192b3a326 -0.28 0.08 timeline
-proposal-northline 1:02195b8e9896 0.02 -0.04 phase
-proposal-northline 1:c51faa148557 0.02 0.02 focus
-proposal-northline 1:caa79af4db67 0.02 0.13 duration
-proposal-northline 1:e0ee8bb50685 0.02 0.07 output
-proposal-northline 1:9a5c531db125 0.08 -0.04 01discover
-proposal-northline 1:99b15ca862e5 0.08 0.13 1week
-proposal-northline 1:99b15ca862e5#1 0.18 0.13 1week
-proposal-northline 1:7817fa5085e2 0.33 0.02 research,audit,insights,and
-proposal-northline 1:73dff70e25ad 0.32 0.02 strategy
-proposal-northline 1:ddfbc608570a 0.33 0.07 discoveryreport&creative
-proposal-northline 1:93c4abe27cf1 0.32 0.07 direction
+proposal-northline 1:02195b8e9896 0.26 -0.04 phase
+proposal-northline 1:c51faa148557 0.26 0.02 focus
+proposal-northline 1:caa79af4db67 0.26 0.13 duration
+proposal-northline 1:e0ee8bb50685 0.26 0.07 output
+proposal-northline 1:9a5c531db125 -0.04 -0.04 01discover
+proposal-northline 1:99b15ca862e5 -0.04 0.13 1week
+proposal-northline 1:99b15ca862e5#1 0.06 0.13 1week
+proposal-northline 1:7817fa5085e2 0.21 0.02 research,audit,insights,and
+proposal-northline 1:73dff70e25ad 0.20 0.02 strategy
+proposal-northline 1:ddfbc608570a 0.21 0.07 discoveryreport&creative
+proposal-northline 1:93c4abe27cf1 0.20 0.07 direction
proposal-northline 1:9285b279249c 0.07 -0.04 02design
proposal-northline 1:b183847fe9f8 0.07 0.13 2weeks
proposal-northline 1:b183847fe9f8#1 0.18 0.13 2weeks
@@ -4027,48 +4027,48 @@ proposal-northline 1:1e0716635ae3 0.32 0.02 brandrefinementandwebsite
proposal-northline 1:80f5fb36f074 0.31 0.02 ux/uidesign
proposal-northline 1:ad5e8a376247 0.32 0.07 designsystem&high-fidelity
proposal-northline 1:dbb1831acb45 0.31 0.07 designs
-proposal-northline 1:ea1ecc5ce8ad 0.18 -0.04 03developprep
-proposal-northline 1:381b99928ddd 0.43 0.02 contentstructure,developer
-proposal-northline 1:b144c5104484 0.42 0.02 handoff&assetpreparation
-proposal-northline 1:6ba4e54f2632 0.43 0.07 specs,assets&content
-proposal-northline 1:06a61df042ad 0.42 0.07 framework
+proposal-northline 1:ea1ecc5ce8ad 0.06 -0.04 03developprep
+proposal-northline 1:381b99928ddd 0.31 0.02 contentstructure,developer
+proposal-northline 1:b144c5104484 0.30 0.02 handoff&assetpreparation
+proposal-northline 1:6ba4e54f2632 0.31 0.07 specs,assets&content
+proposal-northline 1:06a61df042ad 0.30 0.07 framework
proposal-northline 1:17f923a4777c 0.18 -0.04 04launchsupport
proposal-northline 1:8f16bc1588b5 0.18 0.02 qa,training&go-liveassistance
proposal-northline 1:7c23497e09b0 0.18 0.07 qasign-off&successfullaunch
-proposal-northline 1:f9b21c4bda58 0.10 0.08 investment
-proposal-northline 1:4a33eacd5fa6 0.37 0.44 item
-proposal-northline 1:2da123241332 0.37 0.51 amount(gbp)
-proposal-northline 1:1167b381fe2f 0.40 0.44 discovery&strategy
-proposal-northline 1:572a8dc5a455 0.40 0.42 £2,500
-proposal-northline 1:7c2ad9ba0fd0 0.44 0.44 brandidentityrefinement
-proposal-northline 1:7f2732df7390 0.44 0.42 £4,500
-proposal-northline 1:fc5134bf5fd1 0.48 0.44 websiteux/uidesign
-proposal-northline 1:8534d989b9ed 0.48 0.42 £7,000
-proposal-northline 1:32001e20b2ed 0.52 0.44 contentstructure&messaging
-proposal-northline 1:e58a378ffc52 0.52 0.42 £2,000
-proposal-northline 1:8c7703bb6fb7 0.56 0.44 launchsupport
-proposal-northline 1:d423fc0a31c2 0.56 0.42 £1,500
-proposal-northline 1:d6577e95efba 0.60 0.44 subtotal
-proposal-northline 1:8873236d3571 0.60 0.42 £17,500
-proposal-northline 1:3d213570f707 0.67 0.44 optional:3monthspost-launchsuppo
-proposal-northline 1:7ffd918ebc4a 0.67 0.48 £1,750
-proposal-northline 1:58656319146d 0.67 0.44 totalinvestment
-proposal-northline 1:4aadcd9bc785 0.67 0.47 £19,250
-proposal-northline 1:51d2361f4fae 0.10 0.20 terms
-proposal-northline 1:99ffab766326 0.13 0.50 50%depositisrequiredtosecurethe
+proposal-northline 1:f9b21c4bda58 -0.02 0.08 investment
+proposal-northline 1:4a33eacd5fa6 0.49 0.44 item
+proposal-northline 1:2da123241332 0.49 0.51 amount(gbp)
+proposal-northline 1:1167b381fe2f 0.52 0.44 discovery&strategy
+proposal-northline 1:572a8dc5a455 0.52 0.42 £2,500
+proposal-northline 1:7c2ad9ba0fd0 0.56 0.44 brandidentityrefinement
+proposal-northline 1:7f2732df7390 0.56 0.42 £4,500
+proposal-northline 1:fc5134bf5fd1 0.60 0.44 websiteux/uidesign
+proposal-northline 1:8534d989b9ed 0.60 0.42 £7,000
+proposal-northline 1:32001e20b2ed 0.64 0.44 contentstructure&messaging
+proposal-northline 1:e58a378ffc52 0.64 0.42 £2,000
+proposal-northline 1:8c7703bb6fb7 0.68 0.44 launchsupport
+proposal-northline 1:d423fc0a31c2 0.68 0.42 £1,500
+proposal-northline 1:d6577e95efba 0.72 0.44 subtotal
+proposal-northline 1:8873236d3571 0.72 0.42 £17,500
+proposal-northline 1:3d213570f707 0.79 0.44 optional:3monthspost-launchsuppo
+proposal-northline 1:7ffd918ebc4a 0.79 0.48 £1,750
+proposal-northline 1:58656319146d 0.91 0.44 totalinvestment
+proposal-northline 1:4aadcd9bc785 0.91 0.47 £19,250
+proposal-northline 1:51d2361f4fae -0.02 0.20 terms
+proposal-northline 1:99ffab766326 0.01 0.50 50%depositisrequiredtosecurethe
proposal-northline 1:5414e5671cbd 0.06 0.10 projectandschedulethekick-off.
-proposal-northline 1:832db31f5c9a 0.05 0.50 includestworoundsofrevisionsper
-proposal-northline 1:5130aeada3db 0.10 0.10 majordeliverable.
-proposal-northline 1:ffce6ed7e6e5 0.09 0.50 finalfilesandhandoffdeliveredupo
-proposal-northline 1:566f68df6dd8 0.14 0.10 finalpayment.
-proposal-northline 1:06ebb5670fa8 0.01 0.62 ownershipofallfinaldeliverables
+proposal-northline 1:832db31f5c9a -0.07 0.50 includestworoundsofrevisionsper
+proposal-northline 1:5130aeada3db -0.02 0.10 majordeliverable.
+proposal-northline 1:ffce6ed7e6e5 -0.03 0.50 finalfilesandhandoffdeliveredupo
+proposal-northline 1:566f68df6dd8 0.02 0.10 finalpayment.
+proposal-northline 1:06ebb5670fa8 -0.11 0.62 ownershipofallfinaldeliverables
proposal-northline 1:5312201597c1 0.30 0.10 transferstoasterahealthco.afterf
proposal-northline 1:d31e8d77a816 -0.06 0.10 paymentisreceived.
-proposal-northline 1:c1514c6cdad1 0.61 0.12 acceptance
-proposal-northline 1:893663b06769 0.88 0.04 bysigningbelow,youagreetothescop
-proposal-northline 1:df16232de5b9 0.86 0.04 acceptedby:
-proposal-northline 1:f089d24d7cf3 0.86 0.08 signature:
-proposal-northline 1:c74c9cd82f13 0.86 0.09 date:
+proposal-northline 1:c1514c6cdad1 0.49 0.12 acceptance
+proposal-northline 1:893663b06769 0.76 0.04 bysigningbelow,youagreetothescop
+proposal-northline 1:df16232de5b9 0.62 0.04 acceptedby:
+proposal-northline 1:f089d24d7cf3 0.62 0.08 signature:
+proposal-northline 1:c74c9cd82f13 0.62 0.09 date:
proposal-northline 1:026890c58de9 0.10 0.00 northlinestudio|northlinestudio.
receipt-modern 0:2b019b5b46da 0.29 -0.04 northwindpay
receipt-modern 0:a3c304a23bb1 0.23 0.00 transferconfirmation
diff --git a/qa/src/test/resources/docx-fidelity/word-windows.tsv b/qa/src/test/resources/docx-fidelity/word-windows.tsv
index 8e436d8cb..586c36d77 100644
--- a/qa/src/test/resources/docx-fidelity/word-windows.tsv
+++ b/qa/src/test/resources/docx-fidelity/word-windows.tsv
@@ -6,7 +6,7 @@ cv-centered_headline 2 2 58 56 0.11 0.26 0
cv-charcoal_gold 1 1 85 83 0.18 0.27 0
cv-classic_serif 2 2 57 54 0.19 0.39 0
cv-compact_mono 1 1 58 58 0.15 0.32 0
-cv-editorial_blue 2 2 82 82 0.10 0.21 0
+cv-editorial_blue 2 2 82 82 0.08 0.21 0
cv-engineering_resume 1 1 57 57 0.22 0.34 0
cv-executive 2 2 60 60 0.19 0.34 0
cv-midnight_navy 1 1 86 84 0.22 0.82 0
@@ -26,21 +26,21 @@ cv-teal_pulse 1 1 57 57 0.11 0.38 0
cv-terracotta_rail 1 1 102 102 0.36 0.87 0
cv-timeline_minimal 2 2 89 87 0.36 0.47 0
cv-violet_grid 1 1 80 78 0.23 0.42 0
-invoice-classic 1 1 56 56 0.19 0.30 0
-invoice-classic_long 2 2 166 166 0.26 0.33 0
-invoice-consulting 1 1 92 92 0.61 1.02 0
-invoice-consulting_long 2 2 236 236 0.74 0.99 0
-invoice-luma_studio 1 1 97 97 0.14 0.42 0
-invoice-luma_studio_long 3 3 192 192 0.22 0.38 0
-invoice-merchant 1 1 94 94 0.13 0.25 0
+invoice-classic 1 1 56 56 0.06 0.23 0
+invoice-classic_long 2 2 166 166 0.06 0.14 0
+invoice-consulting 1 1 92 92 0.28 1.02 0
+invoice-consulting_long 2 2 236 236 0.35 0.70 0
+invoice-luma_studio 1 1 97 97 0.14 0.41 0
+invoice-luma_studio_long 3 3 192 192 0.21 0.38 0
+invoice-merchant 1 1 94 94 0.13 0.22 0
invoice-metered 1 1 99 99 0.14 0.57 0
-invoice-modern 1 1 54 54 0.08 0.21 0
-invoice-modern_long 2 2 162 162 0.22 0.31 0
+invoice-modern 1 1 54 54 0.12 0.18 0
+invoice-modern_long 2 2 162 162 0.10 0.17 0
invoice-obsidian 1 1 81 81 0.28 0.76 0
invoice-payments 1 1 104 104 0.09 0.20 0
invoice-platform 1 1 111 111 0.19 0.41 0
-invoice-subscription 1 1 81 81 0.56 0.72 0
-invoice-workspace 1 1 90 90 0.14 0.32 0
+invoice-subscription 1 1 81 81 0.43 0.60 0
+invoice-workspace 1 1 90 90 0.10 0.29 0
letter-blue_banner 1 1 10 10 0.18 0.41 0
letter-boxed_sections 1 1 10 10 0.13 0.26 0
letter-centered_headline 1 1 11 11 0.03 0.19 0
@@ -56,9 +56,9 @@ letter-nordic_clean 1 1 15 15 0.16 0.35 0
letter-panel 1 1 13 13 0.16 0.29 0
letter-sidebar_portrait 1 1 12 12 0.41 0.52 0
letter-timeline_minimal 1 1 15 15 0.29 0.53 0
-proposal-editorial 2 2 132 130 0.57 1.08 0
+proposal-editorial 2 2 132 130 0.52 1.20 0
proposal-indigo 1 1 72 70 0.40 0.62 0
-proposal-modern 1 1 44 44 0.14 0.24 0
-proposal-northline 2 2 132 132 0.27 0.67 0
+proposal-modern 1 1 44 44 0.08 0.17 0
+proposal-northline 2 2 132 132 0.26 0.71 0
receipt-modern 1 1 57 57 0.21 0.39 0
rota-cobalt 1 1 154 154 0.32 0.99 0
diff --git a/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxLayoutMetrics.java b/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxLayoutMetrics.java
index 5e1f6ab02..9d98bbd02 100644
--- a/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxLayoutMetrics.java
+++ b/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxLayoutMetrics.java
@@ -62,8 +62,8 @@ final class DocxLayoutMetrics {
// Every fragment, in the order the page paints them.
private final List
Written at its tallest line, it can come out taller: the page sets a line shorter than * that, a wrapped line after a large first one, at its own height. Its last line then hangs @@ -8708,13 +8726,27 @@ private void settleTheLinesWithThePage(XWPFParagraph target, ParagraphNode sourc double written = layout.lineCount(source) * (line / POINT_TO_TWIP) - lineTopsTakenIn.getOrDefault(target.getCTP(), 0.0); double shortBy = page.getAsDouble() - written; - if (shortBy > LINES_ROUNDING_TOLERANCE && layout.lineIsNotTheTallest(source)) { + if (shortBy > LINES_ROUNDING_TOLERANCE) { owePendingSpacingAfter(shortBy); + roundingOwedBy = target.getCTP(); + roundingOwed = shortBy; } else if (-shortBy > LINES_ROUNDING_TOLERANCE) { hangingBelow = Math.max(hangingBelow, -shortBy); } } + /** + * Takes back what a paragraph's lines were owed below it for falling short of the page + * ({@link #settleTheLinesWithThePage}) once its pictures have made its line taller than written + * ({@code makeRoomForPictures}): Word grows those lines to the pictures, past what they fell short. + */ + private void takeBackTheRoundingOwedBy(XWPFParagraph para) { + if (roundingOwedBy == para.getCTP()) { + pendingSpacingAfter -= roundingOwed; + roundingOwedBy = null; + } + } + /** * What a paragraph's lines may fall short of or pass the page by, twips rounding, before it * is owed below the paragraph or taken out of the space below it: Word sets lines on a grid @@ -9194,7 +9226,17 @@ private void writeParagraphRuns(XWPFParagraph para, ParagraphNode node, boolean // A line held to its pictures has their ink within half a point of its edges. boolean cutToTheInk = !Double.isNaN(heldAbove); if (Double.isNaN(heldAbove)) { + CTSpacing lineSpacing = para.getCTP().isSetPPr() && para.getCTP().getPPr().isSetSpacing() + ? para.getCTP().getPPr().getSpacing() : null; + Long exactBefore = lineSpacing != null && lineSpacing.isSetLineRule() + && lineSpacing.getLineRule() == STLineSpacingRule.EXACT ? writtenTwips(lineSpacing.getLine()) : null; makeRoomForPictures(para, pictures); + if (exactBefore != null && (lineSpacing.getLineRule() != STLineSpacingRule.EXACT + || !exactBefore.equals(writtenTwips(lineSpacing.getLine())))) { + // Its lines are now as tall as its pictures, not as written: what they fell short + // of the page by rounding is not short any more (settleTheLinesWithThePage). + takeBackTheRoundingOwedBy(para); + } heldAbove = 0; } styleTheMark(para, markStyle); @@ -11700,7 +11742,7 @@ private static long borderTwips(org.openxmlformats.schemas.wordprocessingml.x200 if (!drawn(border) || !border.isSetSz() || border.getSz() == null) { return 0; } - return Math.round(border.getSz().doubleValue() * POINT_TO_TWIP / 8.0); + return eighthsInTwips(border.getSz().doubleValue()); } private static long twipsOf(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth width) { @@ -11794,6 +11836,7 @@ private void writeTableRows(XWPFDocument document, TableNode node) throws Except } } evenTheRowsMargins(row); + moveTheRowsText(row); // The first row's share of the rule under it is the next row's rule, written next. if (rowIdx > 0 || rowCount == 1) { holdRowHeight(table, node, rowIdx); @@ -11918,10 +11961,8 @@ private void applyCellPaint(XWPFTableCell cell, DocumentColor fill, DocumentStro ? properties.getTcBorders() : properties.addNewTcBorders(); if (stroke.width() > 0) { - // w:sz counts eighths of a point, and rounds to at least one so a hairline - // the author asked for stays a line rather than disappearing. - BigInteger eighths = BigInteger.valueOf( - Math.max(1, Math.round(stroke.width() * 8.0))); + // A hairline the author asked for stays a line, at Word's thinnest. + BigInteger eighths = BigInteger.valueOf(ruleEighths(stroke.width())); String colour = toHexColor(stroke.color().color()); paintEdge(borders.addNewTop(), STBorder.SINGLE, eighths, colour); paintEdge(borders.addNewBottom(), STBorder.SINGLE, eighths, colour); @@ -11940,6 +11981,21 @@ private void applyCellPaint(XWPFTableCell cell, DocumentColor fill, DocumentStro } } + /** + * How wide Word draws a cell's rule, in twips: the width written in eighths of a point, from + * Word's thinnest to its thickest — the two to ninety-six eighths a line border's {@code w:sz} + * runs over (ECMA-376) — ({@link #ruleEighths(double)}), counted to the twip as a row's height + * counts it ({@link #borderTwips}); 0 for none. + */ + private static long ruleTwips(DocumentStroke stroke) { + return stroke == null || !(stroke.width() > 0) ? 0 : eighthsInTwips(ruleEighths(stroke.width())); + } + + /** A rule's {@code w:sz}, eighths of a point, in whole twips. */ + private static long eighthsInTwips(double eighths) { + return Math.round(eighths * POINT_TO_TWIP / 8.0); + } + private static void paintEdge(CTBorder edge, STBorder.Enum kind, BigInteger eighths, String colour) { edge.setVal(kind); if (eighths != null) { @@ -11989,9 +12045,14 @@ private static void applyCellPadding(XWPFTableCell cell, DocumentInsets padding) * room for the lower row's rule: measured, a 1.5pt header over 0.5pt rows stepped as 0.5pt * rules do, and a 1.5pt row under 0.5pt ones as 1.5pt rules do. So each rule comes off the * padding where Word puts it; in a table ruled alike throughout, with padding enough, every - * row then stands where the page sets it. The sides keep their padding, as the columns' - * widths are fixed. Padding thinner than its share gives what it has, and the row stands - * that much taller.
+ * row then stands where the page sets it. Each rule comes off as wide as Word draws it, in + * eighths of a point ({@link #ruleTwips}): a 0.7pt hairline is drawn 0.75pt wide, and taken + * off at 0.7 it stood {@code EditorialProposal}'s tables, and all under them, a step of Word's + * grid lower (measured). A rule between two rows is halved, each half rounded to the twip with + * the margin it comes off, so an odd rule comes off a twip short: 15 twips came off as 7 and 7, + * and every row of {@code NorthlineProposal}'s investment table stood a twip taller. The sides + * keep their padding, as the columns' widths are fixed. Padding thinner than its share gives + * what it has, and the row stands that much taller. * * @param padding the cell's padding on the page * @param stroke the cell's own rule @@ -12002,8 +12063,8 @@ private static void applyCellPadding(XWPFTableCell cell, DocumentInsets padding) */ private static DocumentInsets clearOfTheRules(DocumentInsets padding, DocumentStroke stroke, boolean firstRow, boolean lastRow, DocumentStroke underneath) { - double rule = strokeWidth(stroke); - double below = lastRow ? rule : strokeWidth(underneath) / 2; + double rule = ruleTwips(stroke) / POINT_TO_TWIP; + double below = lastRow ? rule : ruleTwips(underneath) / POINT_TO_TWIP / 2; return new DocumentInsets(Math.max(0, padding.top() - (firstRow ? rule : rule / 2)), padding.right(), Math.max(0, padding.bottom() - below), padding.left()); } @@ -12169,6 +12230,119 @@ private void writeCellContent(XWPFTableCell cell, TableGrid.Placement placement, run.setText(lines.get(i) == null ? "" : lines.get(i), inRun++); } styleTheMark(para, textStyle); + if (lines.stream().allMatch(line -> line == null || line.isBlank())) { + textCellRaises.put(cell.getCTTc(), Double.NaN); + } else if (lineHeight.isPresent()) { + double below = belowThePage(layout.measuredCell(node, placement.row(), placement.column()), + cell.getParagraphs().get(0)); + if (!Double.isNaN(below)) { + textCellRaises.put(cell.getCTTc(), below); + } + } + } + + /** + * How far Word sets a text cell's lines below the page's, in points, negative where Word sets + * them higher; NaN where the layout did not measure the cell, draws it in a face the measured + * fonts do not hold, or the line is not written exact. + * + *The page sets each of a cell's lines its height less its face's descent below the line's + * top, as the PDF backend draws a cell (PdfTableRowFragmentRenderHandler); Word stands an exact + * line's baseline four fifths of the way down the line it was given, whatever the face + * ({@link DocxTextBands#BASELINE_SHARE}). Measured on cells anchored at the top, the middle and + * the bottom, a line of 8pt Helvetica stood 0.24pt low in Word and 0.16 in LibreOffice, Poppins + * 0.58 and 0.55, and Lato 0.24 and 0.25 high: as far as the two seats are apart, and nothing + * else in the cell moved.
+ * + * @param measured the cell as the layout measured it, or {@code null} + * @param first the cell's first paragraph, whose exact line its lines are written at + */ + private double belowThePage(TableResolvedCell measured, XWPFParagraph first) { + CTPPr properties = first.getCTP().getPPr(); + CTSpacing spacing = properties != null && properties.isSetSpacing() ? properties.getSpacing() : null; + Long line = spacing != null && spacing.isSetLineRule() && spacing.getLineRule() == STLineSpacingRule.EXACT + ? writtenTwips(spacing.getLine()) : null; + if (measured == null || line == null) { + return Double.NaN; + } + TextStyle face = measured.style().textStyle(); + try { + return measuredFonts().getFont(face.fontName(), com.demcha.compose.engine.render.pdf.PdfFont.class) + .map(font -> line / POINT_TO_TWIP * DocxTextBands.BASELINE_SHARE + - (measured.lineHeight() - font.verticalMetrics(face).baselineOffsetFromBottom())) + .orElse(Double.NaN); + } catch (RuntimeException unknownFace) { + return Double.NaN; + } + } + + /** + * Moves the text of a row of text cells to where the page sets it, by moving the row's top + * and bottom margins together. + * + *Word sets a text cell's lines lower or higher than the page by the distance between the + * two seats ({@link #belowThePage}). Word and LibreOffice give every cell of a row its largest + * top margin and its largest bottom margin ({@link #evenTheRowsMargins}), so the margins move + * the text of every cell at once: the top made smaller by as much as the bottom is made larger, + * each cell's room is moved up that much and keeps its height, and the text in it moves with + * it, set at its top, its middle or its bottom; the row keeps its height. Measured, the lines + * then stood within 0.04pt of the page's in Word and 0.09pt in LibreOffice, raised or lowered. + * Space written above a cell's text would move it too, but LibreOffice sets a vertically + * centred cell's content as if its first paragraph had none: 3pt above it stood the line 1.5pt + * high there.
+ * + *Every cell of the row is moved alike, by the least that any of its cells' lines call + * for, so none is moved past where the page sets it, and no further than the margin the text + * moves into holds. A row whose cells call for opposite ways is not moved, and nor is one + * whose least call is under {@link #LEAST_ROW_TEXT_MOVE}. Only a row of text cells the layout + * measured, in a face the measured fonts hold: a composed cell's paragraphs are seated by their + * own writers where they can be, and the margins would move them again. Not a row in a + * vertical merge, whose cells' margins are evened apart.
+ * + *What the margins leave of a text cell's call, in a row they do not move or move by less, + * is moved by its text's position where that is half a point or more + * ({@link #LEAST_BASELINE_SHIFT_POINTS}), as a paragraph's is: a cell of 8pt Poppins beside one + * of Lato, the two called opposite ways, stood 0.58pt low. The position counts in half points, + * and LibreOffice moves text further than it is raised, by up to half as much again + * ({@link #raiseIntoTheSpaceAbove}); from half a point up that overshoot is less than what is + * left, and under it more, so less is left as it is.
+ */ + private void moveTheRowsText(XWPFTableRow row) { + ListThe page sets a cell's line its face's ascent below the line's top; Word stands an exact + * line's baseline four fifths of the way down it. Measured, a line of 8pt Poppins stood 0.58pt + * low in Word and 0.55 in LibreOffice, of Lato 0.24 high, whatever the cell's anchor. Every cell of + * a row takes the row's largest margins, so the margins move every cell's text at once: the top + * made smaller by as much as the bottom is made larger, and the row keeps its height.
+ */ +class DocxCellSeatTest { + + /** Poppins' ascent, in ems: 1050 of 1000 units. */ + private static final double POPPINS_ASCENT = 1.05; + /** Lato's ascent, in ems: 1974 of 2000 units. */ + private static final double LATO_ASCENT = 0.987; + /** Helvetica's ascent, in ems: 718 of 1000 units, as its font metrics state it. */ + private static final double HELVETICA_ASCENT = 0.718; + /** Gothic A1's ascent, in ems: 798 of 1000 units, its own line one em. */ + private static final double GOTHIC_A1_ASCENT = 0.798; + /** The padding the tables here are laid out with, in twips: 4pt all round, and no rules. */ + private static final long PADDING = 80; + + @Test + void aRowOfTextCellsSetLowInWordIsRaisedThroughItsMargins() throws Exception { + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Middle", poppins(8), DocumentTableTextAnchor.CENTER), + cell("Top", poppins(8), DocumentTableTextAnchor.TOP_LEFT), + cell("Bottom", poppins(8), DocumentTableTextAnchor.BOTTOM_LEFT))))) { + XWPFTableRow row = document.getTables().get(0).getRow(0); + long raise = Math.round((0.8 * line(row.getCell(0)) - POPPINS_ASCENT * 8) * 20); + + assertThat(raise).as("the premise: Word sets Poppins half a point low").isBetween(10L, 12L); + for (XWPFTableCell cell : row.getTableCells()) { + assertThat(margins(cell)).as("each cell, whatever its anchor, its room moved up and as tall") + .containsExactly(PADDING - raise, PADDING + raise); + } + } + } + + @Test + void aRowOfTextCellsSetHighInWordIsLoweredThroughItsMargins() throws Exception { + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(cell("Lato", lato(8), DocumentTableTextAnchor.CENTER))))) { + XWPFTableCell cell = document.getTables().get(0).getRow(0).getCell(0); + long raise = Math.round((0.8 * line(cell) - LATO_ASCENT * 8) * 20); + + assertThat(raise).as("the premise: Word sets Lato a quarter point high").isBetween(-5L, -3L); + assertThat(margins(cell)).containsExactly(PADDING - raise, PADDING + raise); + } + } + + @Test + void aRowIsMovedByTheLeastItsCellsCallFor() throws Exception { + // Helvetica at 14, 7 and 10pt stands 6, 3 and 4 twips low: none is moved past the page's. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Large", helvetica(14), DocumentTableTextAnchor.CENTER), + cell("Small", helvetica(7), DocumentTableTextAnchor.CENTER), + cell("Middle", helvetica(10), DocumentTableTextAnchor.CENTER))))) { + XWPFTableRow row = document.getTables().get(0).getRow(0); + long large = Math.round((0.8 * line(row.getCell(0)) - HELVETICA_ASCENT * 14) * 20); + long small = Math.round((0.8 * line(row.getCell(1)) - HELVETICA_ASCENT * 7) * 20); + long middle = Math.round((0.8 * line(row.getCell(2)) - HELVETICA_ASCENT * 10) * 20); + + assertThat(small).as("the premise: the least is the 7pt cell's, apart from the others") + .isLessThan(middle).isLessThan(large).isPositive(); + assertThat(large).as("the default face's, as a paragraph of it is raised").isEqualTo(DocxExports.DEFAULT_LINE_RAISE); + for (XWPFTableCell cell : row.getTableCells()) { + assertThat(margins(cell)).containsExactly(PADDING - small, PADDING + small); + } + } + } + + @Test + void aCellOfSeveralLinesMovesThemTogetherAndKeepsTheSpaceBetweenThem() throws Exception { + // A paragraph a line, the cell's line spacing after each but the last. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(DocumentTableCell.lines("One", "Two").withStyle(DocumentTableStyle.builder() + .padding(DocumentInsets.of(4)).stroke(DocumentStroke.of(DocumentColor.BLACK, 0)) + .textStyle(poppins(8)).textAnchor(DocumentTableTextAnchor.BOTTOM_LEFT).lineSpacing(2).build()))))) { + XWPFTableCell cell = document.getTables().get(0).getRow(0).getCell(0); + long raise = Math.round((0.8 * line(cell) - POPPINS_ASCENT * 8) * 20); + + assertThat(cell.getParagraphs()).as("the premise: a paragraph a line").hasSize(2); + assertThat(margins(cell)).containsExactly(PADDING - raise, PADDING + raise); + assertThat(DocxTwips.of(cell.getParagraphs().get(0).getCTP().getPPr().getSpacing().getAfter())) + .as("the space between the lines").isEqualTo(40); + } + } + + @Test + void eachRowIsMovedOnItsOwn() throws Exception { + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(cell("Header", lato(8), DocumentTableTextAnchor.CENTER)) + .rowCells(cell("Body", poppins(8), DocumentTableTextAnchor.CENTER))))) { + var table = document.getTables().get(0); + long lowered = Math.round((0.8 * line(table.getRow(0).getCell(0)) - LATO_ASCENT * 8) * 20); + long raised = Math.round((0.8 * line(table.getRow(1).getCell(0)) - POPPINS_ASCENT * 8) * 20); + + assertThat(margins(table.getRow(0).getCell(0))).containsExactly(PADDING - lowered, PADDING + lowered); + assertThat(margins(table.getRow(1).getCell(0))).containsExactly(PADDING - raised, PADDING + raised); + } + } + + @Test + void aTableWithNoLayoutKeepsItsMargins() throws Exception { + // Nothing measured the lines: there is no seat of the page's to move them to. + try (XWPFDocument document = DocxExports.withoutLayout(400, 600, 20, page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(cell("Poppins", poppins(8), DocumentTableTextAnchor.CENTER))))) { + assertThat(margins(document.getTables().get(0).getRow(0).getCell(0))).containsExactly(PADDING, PADDING); + } + } + + @Test + void aRowWhoseCellsCallForOppositeWaysIsLeftAsItWas() throws Exception { + // Its margins are not moved; the cell calling for half a point and more is moved by its + // text's position, the other is left. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Low", poppins(8), DocumentTableTextAnchor.CENTER), + cell("High", lato(8), DocumentTableTextAnchor.CENTER))))) { + XWPFTableRow row = document.getTables().get(0).getRow(0); + double poppins = 0.8 * line(row.getCell(0)) - POPPINS_ASCENT * 8; + + for (XWPFTableCell cell : row.getTableCells()) { + assertThat(margins(cell)).containsExactly(PADDING, PADDING); + } + assertThat(poppins).as("the premise: half a point and more").isGreaterThanOrEqualTo(0.5); + assertThat(position(row.getCell(0))).isEqualTo(Math.round(poppins * 2)); + assertThat(position(row.getCell(1))).as("Lato's quarter point is left").isZero(); + } + } + + @Test + void whatTheMarginsLeaveOfHalfAPointAndMoreIsLeftToThePosition() throws Exception { + // The row moves by Helvetica's 6 twips; Poppins at 14pt calls for nearly a point. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Poppins", poppins(14), DocumentTableTextAnchor.CENTER), + cell("Helvetica", helvetica(14), DocumentTableTextAnchor.CENTER))))) { + XWPFTableRow row = document.getTables().get(0).getRow(0); + double left = 0.8 * line(row.getCell(0)) - POPPINS_ASCENT * 14 - DocxExports.DEFAULT_LINE_RAISE / 20.0; + + assertThat(margins(row.getCell(1))).containsExactly(PADDING - DocxExports.DEFAULT_LINE_RAISE, + PADDING + DocxExports.DEFAULT_LINE_RAISE); + assertThat(left).as("the premise: half a point and more left").isGreaterThanOrEqualTo(0.5); + assertThat(position(row.getCell(0))).isEqualTo(Math.round(left * 2)); + assertThat(position(row.getCell(1))).as("nothing left of Helvetica's").isZero(); + } + } + + @Test + void aBlankCellDoesNotHoldItsRowBack() throws Exception { + // In a face Word sets high: measured, it would call for the opposite way and hold the row. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Text", poppins(8), DocumentTableTextAnchor.CENTER), + cell("", lato(8), DocumentTableTextAnchor.CENTER))))) { + XWPFTableRow row = document.getTables().get(0).getRow(0); + long raise = Math.round((0.8 * line(row.getCell(0)) - POPPINS_ASCENT * 8) * 20); + + for (XWPFTableCell cell : row.getTableCells()) { + assertThat(margins(cell)).containsExactly(PADDING - raise, PADDING + raise); + } + } + } + + @Test + void aRowHoldingAComposedCellIsLeftAsItWas() throws Exception { + // The composed paragraph is seated by its own writer; the margins would move it again. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Text", poppins(8), DocumentTableTextAnchor.CENTER), + DocumentTableCell.node(new ParagraphBuilder().text("Composed").textStyle(poppins(8)) + .margin(DocumentInsets.zero()).build()).withStyle(style(poppins(8), + DocumentTableTextAnchor.CENTER)))))) { + XWPFTableCell text = document.getTables().get(0).getRow(0).getCell(0); + + assertThat(margins(text)).containsExactly(PADDING, PADDING); + assertThat(position(text)).as("the text cell moved by its position instead") + .isEqualTo(Math.round((0.8 * line(text) - POPPINS_ASCENT * 8) * 2)); + } + } + + @Test + void aRowInAVerticalMergeIsLeftAsItWas() throws Exception { + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100), DocumentTableColumn.fixed(100)) + .rowCells(cell("Spans", poppins(8), DocumentTableTextAnchor.CENTER).rowSpan(2), + cell("First", poppins(8), DocumentTableTextAnchor.CENTER)) + .rowCells(cell("Second", poppins(8), DocumentTableTextAnchor.CENTER))))) { + assertThat(margins(document.getTables().get(0).getRow(0).getCell(1))).containsExactly(PADDING, PADDING); + } + } + + @Test + void aRaiseTakesNoMoreThanTheTopMarginHolds() throws Exception { + // A quarter point above the text: Poppins calls for more. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(DocumentTableCell.text("Tight").withStyle(DocumentTableStyle.builder() + .padding(new DocumentInsets(0.25, 4, 4, 4)).stroke(DocumentStroke.of(DocumentColor.BLACK, 0)) + .textStyle(poppins(8)).textAnchor(DocumentTableTextAnchor.CENTER).build()))))) { + XWPFTableCell cell = document.getTables().get(0).getRow(0).getCell(0); + + assertThat(margins(cell)).containsExactly(0L, PADDING + 5); + assertThat(position(cell)).as("the third of a point left is under half a point").isZero(); + } + } + + @Test + void aLoweringTakesNoMoreThanTheBottomMarginHolds() throws Exception { + // A tenth of a point below the text: Lato calls for more. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(DocumentTableCell.text("Tight").withStyle(DocumentTableStyle.builder() + .padding(new DocumentInsets(4, 4, 0.1, 4)).stroke(DocumentStroke.of(DocumentColor.BLACK, 0)) + .textStyle(lato(8)).textAnchor(DocumentTableTextAnchor.CENTER).build()))))) { + assertThat(margins(document.getTables().get(0).getRow(0).getCell(0))).containsExactly(PADDING + 2, 0L); + } + } + + @Test + void aMoveUnderATenthOfAPointIsLeftAsItWas() throws Exception { + // Word sets lines on a grid 0.12pt apart: a twip of margin moves a line a step or nothing. + try (XWPFDocument document = export(page -> page.addTable(t -> t + .columns(DocumentTableColumn.fixed(100)) + .rowCells(cell("Gothic", DocumentTextStyle.builder().fontName(FontName.GOTHIC_A1).size(14).build(), + DocumentTableTextAnchor.CENTER))))) { + XWPFTableCell cell = document.getTables().get(0).getRow(0).getCell(0); + double below = 0.8 * line(cell) - GOTHIC_A1_ASCENT * 14; + + assertThat(below).as("the premise: Word sets Gothic A1 low by half a twip and more, which rounds to a " + + "twip, under a tenth") + .isBetween(0.025, 0.1); + assertThat(margins(cell)).containsExactly(PADDING, PADDING); + } + } + + private static DocumentTableCell cell(String text, DocumentTextStyle face, DocumentTableTextAnchor anchor) { + return DocumentTableCell.text(text).withStyle(style(face, anchor)); + } + + private static DocumentTableStyle style(DocumentTextStyle face, DocumentTableTextAnchor anchor) { + return DocumentTableStyle.builder().padding(DocumentInsets.of(4)).stroke(DocumentStroke.of(DocumentColor.BLACK, 0)) + .textStyle(face).textAnchor(anchor).build(); + } + + private static DocumentTextStyle poppins(double size) { + return DocumentTextStyle.builder().fontName(FontName.POPPINS).size(size).build(); + } + + private static DocumentTextStyle lato(double size) { + return DocumentTextStyle.builder().fontName(FontName.LATO).size(size).build(); + } + + private static DocumentTextStyle helvetica(double size) { + return DocumentTextStyle.builder().fontName(FontName.HELVETICA).size(size).build(); + } + + /** The exact line a cell's first paragraph is written at, in points. */ + private static double line(XWPFTableCell cell) { + return DocxTwips.of(cell.getParagraphs().get(0).getCTP().getPPr().getSpacing().getLine()) / 20.0; + } + + /** The {@code w:position} of a cell's first run, in half points; 0 for none. */ + private static long position(XWPFTableCell cell) { + var properties = cell.getParagraphs().get(0).getCTP().getRArray(0).getRPr(); + return properties == null || properties.sizeOfPositionArray() == 0 ? 0 + : ((Number) properties.getPositionArray(0).getVal()).longValue(); + } + + /** A cell's top and bottom margins, in twips. */ + private static long[] margins(XWPFTableCell cell) { + CTTcMar mar = cell.getCTTc().getTcPr().getTcMar(); + return new long[]{DocxTwips.of(mar.getTop().getW()), DocxTwips.of(mar.getBottom().getW())}; + } + + private static XWPFDocument export(Consumer